From 1a10622b65fd3c434bee0c597f73e12cd34b3989 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Fri, 17 Dec 2010 04:45:53 +0000 Subject: [PATCH 01/10] Launchpad automatic translations update. --- src/calibre/translations/bs.po | 6 +-- src/calibre/translations/ca.po | 4 +- src/calibre/translations/da.po | 6 +-- src/calibre/translations/de.po | 64 ++++++++++++++++++++----------- src/calibre/translations/en_GB.po | 6 +-- src/calibre/translations/eu.po | 4 +- src/calibre/translations/fr.po | 6 +-- src/calibre/translations/gl.po | 33 ++++++++-------- src/calibre/translations/it.po | 6 +-- src/calibre/translations/ja.po | 4 +- src/calibre/translations/ko.po | 6 +-- src/calibre/translations/ml.po | 6 +-- src/calibre/translations/pt_BR.po | 24 +++++++----- src/calibre/translations/ro.po | 6 +-- src/calibre/translations/ru.po | 6 +-- src/calibre/translations/sl.po | 6 +-- src/calibre/translations/sr.po | 6 +-- 17 files changed, 110 insertions(+), 89 deletions(-) diff --git a/src/calibre/translations/bs.po b/src/calibre/translations/bs.po index 96d9aa8e4f..8697b09317 100644 --- a/src/calibre/translations/bs.po +++ b/src/calibre/translations/bs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-14 19:28+0000\n" -"Last-Translator: Kenan Dervišević \n" +"PO-Revision-Date: 2010-12-16 22:50+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Bosnian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-15 04:35+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 0aa3925e02..cf18615439 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -11,13 +11,13 @@ msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-13 17:37+0000\n" +"PO-Revision-Date: 2010-12-16 23:54+0000\n" "Last-Translator: FerranRius \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-14 04:50+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index b3e5174764..30735c0a66 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-11 22:59+0000\n" -"Last-Translator: Glenn \n" +"PO-Revision-Date: 2010-12-17 00: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: 2010-12-13 04:57+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/de.po b/src/calibre/translations/de.po index 58a714522e..7b49dc71b3 100644 --- a/src/calibre/translations/de.po +++ b/src/calibre/translations/de.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-11 02:44+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-12-16 12:49+0000\n" +"Last-Translator: Manichean \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-12 04:35+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" @@ -2470,23 +2470,23 @@ msgstr "Comic" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:26 msgid "Downloads metadata from amazon.fr" -msgstr "" +msgstr "Herunterladen der Metadaten von amazon.fr" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:43 msgid "Downloads metadata from amazon.com in spanish" -msgstr "" +msgstr "Herunterladen der spanischen Metadaten von amazon.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:60 msgid "Downloads metadata from amazon.com in english" -msgstr "" +msgstr "Herunterladen der englischen Metadaten von amazon.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:77 msgid "Downloads metadata from amazon.de" -msgstr "" +msgstr "Herunterladen der Metadaten von amazon.de" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:94 msgid "Downloads metadata from amazon.com" -msgstr "" +msgstr "Herunterladen der Metadaten von amazon.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazonfr.py:474 msgid "" @@ -2500,6 +2500,14 @@ msgid "" " All & english & french & german & spanish\n" " " msgstr "" +" %prog [Optionen]\n" +"\n" +" Lädt Metadaten von Amazon. Sie müssen einen Titel, Author,\n" +" ISBN, Herausgeber oder Stichwort angeben. Es werden maximal\n" +" 10 Treffer geladen, suchen Sie so spezifisch wie möglich.\n" +" Sie können die Sprache für die Metadaten auswählen:\n" +" Alle & Englisch & Französisch & Deutsch & Spanisch\n" +" " #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 msgid "" @@ -2832,33 +2840,35 @@ msgstr "Lädt Reihe/Etiketten/Bewertung von librarything.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:25 msgid "Downloads metadata from Fictionwise" -msgstr "" +msgstr "Herunterladen der Metadaten von Fictionwise" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:90 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:108 msgid "Query: %s" -msgstr "" +msgstr "Abfrage: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:285 msgid "Fictionwise timed out. Try again later." -msgstr "" +msgstr "Timeout bei Fictionwise. Bitte später nochmal versuchen." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:101 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:286 msgid "Fictionwise encountered an error." -msgstr "" +msgstr "Bei Fictionwise ist ein Fehler aufgetreten." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:219 msgid "" "SUMMARY:\n" " %s" msgstr "" +"INHALTSANGABE:\n" +" %s" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:316 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:333 msgid "Failed to get all details for an entry" -msgstr "" +msgstr "Konnte für einen Eintrag nicht alle Details holen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:354 msgid "" @@ -2871,41 +2881,49 @@ msgid "" " so you should make your query as specific as possible.\n" " " msgstr "" +" %prog [Optionen]\n" +"\n" +" Holt Metadaten von Fictionwise. Sie müssen einen Titel, Autor oder " +"Stichwort\n" +" angeben. Angabe einer ISBN ist nicht möglich. Maximal werden 20 " +"Treffer geholt,\n" +" suchen Sie also möglichst spezifisch.\n" +" " #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:362 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:363 msgid "Book title" -msgstr "" +msgstr "Titel" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:363 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:364 msgid "Book author(s)" -msgstr "" +msgstr "Autor(en)" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:364 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:365 msgid "Book publisher" -msgstr "" +msgstr "Herausgeber" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:365 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:367 msgid "Keywords" -msgstr "" +msgstr "Schlüsselworte" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:367 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:373 msgid "Maximum number of results to fetch" -msgstr "" +msgstr "Maximale Anzahl an zu holenden Ergebnissen" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:369 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:375 msgid "Be more verbose about errors" -msgstr "" +msgstr "Fehler ausführlicher berichten" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fictionwise.py:383 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:390 msgid "No result found for this search!" -msgstr "" +msgstr "Keine Ergebnisse für diese Suche gefunden!" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" @@ -2983,11 +3001,11 @@ msgstr "Timeout von Nicebooks. Bitte versuchen Sie es später nochmal." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:119 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:243 msgid "Nicebooks encountered an error." -msgstr "" +msgstr "Bei Nicebooks ist ein Fehler aufgetreten." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:323 msgid "ISBN: %s not found." -msgstr "" +msgstr "ISBN: %s nicht gefunden." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:324 msgid "An errror occured with Nicebooks cover fetcher" @@ -3007,7 +3025,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:366 msgid "Book ISBN" -msgstr "" +msgstr "ISBN" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:369 msgid "Covers: 1-Check/ 2-Download" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index aedf656daa..47196d454c 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-12 17:20+0000\n" -"Last-Translator: Vladimir Oka \n" +"PO-Revision-Date: 2010-12-16 23:27+0000\n" +"Last-Translator: Kovid Goyal \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" -"X-Launchpad-Export-Date: 2010-12-13 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index e8fcd22cab..199b5f9864 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-15 17:49+0000\n" +"PO-Revision-Date: 2010-12-16 23:28+0000\n" "Last-Translator: gorkaazk \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-16 04:32+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index f16427ba9e..0bfeecba01 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-16 02:50+0000\n" -"Last-Translator: sengian \n" +"PO-Revision-Date: 2010-12-16 23:44+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Français \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-16 04:33+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Bookmarks: 1177,1104,-1,-1,-1,-1,-1,-1,-1,-1\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 989337deb4..926372905b 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-15 12:01+0000\n" +"PO-Revision-Date: 2010-12-17 00:16+0000\n" "Last-Translator: Miguel Anxo Bouzada \n" "Language-Team: dev@gl.openoffice.org\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-16 04:33+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Language: gl\n" @@ -406,8 +406,8 @@ msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" -"Configura a compartición de libros por correo electrónico. Pódese usar para " -"enviar automaticamente as noticias descargadas aos seus dispositivos" +"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:855 msgid "Sharing over the net" @@ -8751,7 +8751,7 @@ msgstr "Código fonte das receitas (pytom)" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:145 msgid "Email %s to %s" -msgstr "Enviar por correo electrónico %s a %s" +msgstr "Enviar por correo %s a %s" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:187 msgid "News:" @@ -9932,13 +9932,13 @@ msgid "" "automatically sent for downloaded news to all email addresses that have Auto-" "send checked." msgstr "" -"O Calibre pode enviarlle os libros por correo-e. Enviaránselle correos " +"O Calibre pode enviarlle os libros por correo. Enviaránselle correos " "automaticamente coas novas descargadas que teñen marcada a opción Enviar " "automaticamente." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:67 msgid "Add an email address to which to send books" -msgstr "Engadir un enderezo de correo electrónico ao que enviar os libros" +msgstr "Engadir un enderezo de correo ao que enviar os libros" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:68 msgid "&Add email" @@ -9958,7 +9958,7 @@ msgstr "Enviar automaticamente" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24 msgid "Email" -msgstr "Correo electrónico" +msgstr "Correo" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 msgid "Formats to email. The first matching format will be sent." @@ -11668,15 +11668,14 @@ msgid "" "button below. You will also have to register your gmail address in your " "Amazon account." msgstr "" -"

Calibre pode enviar libros automaticamente por correo electrónico ao seu " -"Kindle. Debe configurar o envío por correo electrónico. A forma más doada e " -"facerse cunha conta gratuíta de Gmail e " -"premer o botón Usar gmail. Tamén deberá rexistrar o enderezo de gmail na súa " -"conta de Amazon." +"

Calibre pode enviar libros automaticamente por correo ao seu Kindle. Debe " +"configurar o envío por correo. A forma más doada e facerse cunha conta gratuíta de Gmail e premer o botón Usar " +"gmail. Tamén deberá rexistrar o enderezo de gmail na súa conta de Amazon." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50 msgid "&Kindle email:" -msgstr "Correo electrónico do &Kindle:" +msgstr "Correo do &Kindle:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:57 msgid "Choose your &language:" @@ -11765,7 +11764,7 @@ msgstr "Configuración errada" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" -msgstr "Debe estabelecer o enderezo de correo-e remitente" +msgstr "Debe estabelecer o enderezo de correo remitente" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." @@ -11781,8 +11780,8 @@ msgid "" "

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" msgstr "" -"

Isto é o que se mostrará no campo De: dos correos electrónicos enviados " -"por Calibre.
Poña o seu enderezo de correo-e." +"

Isto é o que se mostrará no campo De: dos correos enviados por " +"Calibre.
Poña o seu enderezo de correo." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "" diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 4dc9779d97..c749e0a652 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -9,13 +9,13 @@ msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-12 08:58+0000\n" -"Last-Translator: MeltingShell \n" +"PO-Revision-Date: 2010-12-16 23:08+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: italiano\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-13 04:57+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:43+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Bookmarks: -1,-1,-1,-1,-1,1105,-1,1312,-1,-1\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/ja.po b/src/calibre/translations/ja.po index a00a5e0be5..339e847ee8 100644 --- a/src/calibre/translations/ja.po +++ b/src/calibre/translations/ja.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-12 12:28+0000\n" +"PO-Revision-Date: 2010-12-16 23:11+0000\n" "Last-Translator: Hiroshi Miura \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-13 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/ko.po b/src/calibre/translations/ko.po index c0fe0e9c52..26da233882 100644 --- a/src/calibre/translations/ko.po +++ b/src/calibre/translations/ko.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-11 02:28+0000\n" -"Last-Translator: Namsik Chu \n" +"PO-Revision-Date: 2010-12-17 01:06+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" -"X-Launchpad-Export-Date: 2010-12-12 04:37+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/ml.po b/src/calibre/translations/ml.po index 65613a9067..9fd18784eb 100644 --- a/src/calibre/translations/ml.po +++ b/src/calibre/translations/ml.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-16 03:36+0000\n" -"Last-Translator: geordee \n" +"PO-Revision-Date: 2010-12-16 23:06+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-16 04:33+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/pt_BR.po b/src/calibre/translations/pt_BR.po index 9b209ace57..f7dbf3e250 100644 --- a/src/calibre/translations/pt_BR.po +++ b/src/calibre/translations/pt_BR.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-05 04:33+0000\n" -"Last-Translator: Wespa Digital \n" +"PO-Revision-Date: 2010-12-16 16:26+0000\n" +"Last-Translator: marco cunha \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-11 04:44+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -387,7 +387,7 @@ msgstr "Configuração dos Metadados" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 msgid "Change metadata fields before saving/sending" -msgstr "" +msgstr "Alterar campos de metadados antes de salvar / enviar" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 msgid "Sharing books by email" @@ -582,6 +582,7 @@ msgstr "Destinado ao iPad e dispositivos similares com resolução de 768x1024" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:437 msgid "Intended for generic tablet devices, does no resizing of images" msgstr "" +"Pretendido para dispositivos Tablets, não faz o redimensionamento de imagens" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:464 msgid "This profile is intended for the Kobo Reader." @@ -609,11 +610,11 @@ msgstr "Este perfil é destinado para o Kindle DX da Amazon." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 msgid "This profile is intended for the B&N Nook Color." -msgstr "" +msgstr "Este perfil é destinado para a B & N Nook Color." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:697 msgid "This profile is intended for the Sanda Bambook." -msgstr "" +msgstr "Este perfil é destinado para o Sanda Bambook" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Installed plugins" @@ -719,6 +720,9 @@ msgid "" "Cannot copy books directly from iDevice. Drag from iTunes Library to " "desktop, then add to calibre's Library window." msgstr "" +"Não é possível copiar livros diretamente do iDevice. Arraste a partir do " +"iTunes Library para o desktop, em seguida, adicione para a biblioteca " +"calibre." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:260 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:263 @@ -812,7 +816,7 @@ msgstr "Comunica-se com o leitor Cybook Gen 3 / Opus." #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "" +msgstr "Comunique-se com o leitor eBook Cybook Orizon." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -828,7 +832,7 @@ msgstr "Comunica-se com o leitor PocketBook 301" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:233 msgid "Communicate with the PocketBook 602 reader." -msgstr "" +msgstr "Comunique-se com o leitor PocketBook 602." #: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" @@ -917,7 +921,7 @@ msgstr "John Schember" #: /home/kovid/work/calibre/src/calibre/devices/interface.py:44 msgid "Cannot get files from this device" -msgstr "" +msgstr "Não é possível obter arquivos a partir deste dispositivo" #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." @@ -941,7 +945,7 @@ msgstr "Comunicar com o leitor MiBuk Wolder." #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:116 msgid "Communicate with the JetBook Mini reader." -msgstr "" +msgstr "Comunique-se com o leitor Mini jetBook." #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:43 msgid "Communicate with the Kindle eBook reader." diff --git a/src/calibre/translations/ro.po b/src/calibre/translations/ro.po index be60804288..2ac6e7dddd 100644 --- a/src/calibre/translations/ro.po +++ b/src/calibre/translations/ro.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-12 15:48+0000\n" -"Last-Translator: Mircea Dochia \n" +"PO-Revision-Date: 2010-12-17 00:09+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-13 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/ru.po b/src/calibre/translations/ru.po index 6925ab4c23..f751b04c72 100644 --- a/src/calibre/translations/ru.po +++ b/src/calibre/translations/ru.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: calibre 0.4.55\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-14 16:19+0000\n" -"Last-Translator: Konstantin \n" +"PO-Revision-Date: 2010-12-16 22:56+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: American English \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-15 04:36+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:44+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: RUSSIAN FEDERATION\n" "X-Poedit-Language: Russian\n" diff --git a/src/calibre/translations/sl.po b/src/calibre/translations/sl.po index 93283e2a4e..b8f9379684 100644 --- a/src/calibre/translations/sl.po +++ b/src/calibre/translations/sl.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: calibre 0.4.17\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-14 10:17+0000\n" -"Last-Translator: Stane Accetto \n" +"PO-Revision-Date: 2010-12-16 22:54+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: sl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-15 04:37+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" "Generated-By: pygettext.py 1.5\n" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index d4dca1eca2..0c646212dc 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-12-10 22:25+0000\n" -"PO-Revision-Date: 2010-12-13 11:44+0000\n" -"Last-Translator: Vladimir Oka \n" +"PO-Revision-Date: 2010-12-16 23:13+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-12-14 04:51+0000\n" +"X-Launchpad-Export-Date: 2010-12-17 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 From 49c9cea7b06ef7f86e480d54c0499fb2a4f5a6c6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 10:27:37 -0700 Subject: [PATCH 02/10] Fix debug process launching on windows --- src/calibre/gui2/main.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py index d8316cbf68..371c4df701 100644 --- a/src/calibre/gui2/main.py +++ b/src/calibre/gui2/main.py @@ -254,6 +254,7 @@ def run_in_debug_mode(logpath=None): e = sys.executable if getattr(sys, 'frozen', False) else sys.argv[0] import tempfile, subprocess fd, logpath = tempfile.mkstemp('.txt') + os.close(fd) if hasattr(sys, 'frameworks_dir'): base = os.path.dirname(sys.frameworks_dir) @@ -265,8 +266,13 @@ def run_in_debug_mode(logpath=None): base, ext = os.path.splitext(e) exe = base + '-debug' + ext print 'Starting debug executable:', exe - subprocess.Popen([exe, '--gui-debug', logpath], stdout=fd, stderr=fd) - time.sleep(1) # Give subprocess a change to launch, before fd is closed + creationflags = 0 + if iswindows: + import win32process + creationflags = win32process.CREATE_NO_WINDOW + subprocess.Popen([exe, '--gui-debug', logpath], stdout=open(logpath, 'w'), + stderr=subprocess.STDOUT, stdin=open(os.devnull, 'r'), + creationflags=creationflags) def run_gui(opts, args, actions, listener, app, gui_debug=None): initialize_file_icon_provider() @@ -300,7 +306,13 @@ def run_gui(opts, args, actions, listener, app, gui_debug=None): if runner.main.gui_debug is not None: e = sys.executable if getattr(sys, 'frozen', False) else sys.argv[0] import subprocess - subprocess.Popen([e, '--show-gui-debug', runner.main.gui_debug]) + creationflags = 0 + if iswindows: + import win32process + creationflags = win32process.CREATE_NO_WINDOW + subprocess.Popen([e, '--show-gui-debug', runner.main.gui_debug], + creationflags=creationflags, stdout=open(os.devnull, 'w'), + stderr=subprocess.PIPE, stdin=open(os.devnull, 'r')) return ret def cant_start(msg=_('If you are sure it is not running')+', ', From bccd4a60ae3f4beda069a9d53207e8c1f71416af Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 10:34:58 -0700 Subject: [PATCH 03/10] oops --- src/calibre/gui2/dialogs/metadata_single.ui | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.ui b/src/calibre/gui2/dialogs/metadata_single.ui index 770807b2d7..0355dc0fe6 100644 --- a/src/calibre/gui2/dialogs/metadata_single.ui +++ b/src/calibre/gui2/dialogs/metadata_single.ui @@ -358,8 +358,8 @@ If the box is colored green, then text matches the individual author's sort stri - Automatically create the author sort entry based on the current author entry. -Using this button to create author sort will change author sort from red to green. + Automatically create the title sort entry based on the current title entry. +Using this button to create title sort will change title sort from red to green. ... @@ -419,8 +419,8 @@ Using this button to create author sort will change author sort from red to gree - Automatically create the title sort entry based on the current title entry. -Using this button to create title sort will change title sort from red to green. + Automatically create the author sort entry based on the current author entry. +Using this button to create author sort will change author sort from red to green. ... From 79232c3d7c495aea5f1ddd82731070c362450dc1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 12:05:01 -0700 Subject: [PATCH 04/10] version 0.7.34 --- Changelog.yaml | 118 ++ src/calibre/constants.py | 2 +- src/calibre/translations/calibre.pot | 1947 ++++++++++++++------------ 3 files changed, 1167 insertions(+), 900 deletions(-) diff --git a/Changelog.yaml b/Changelog.yaml index 12f1b570bc..5c3f238b11 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,124 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.34 + date: 2010-12-17 + + new features: + - title: "Page turn animations in the e-book viewer" + type: major + description: > + "Now when you use the Page Down/Page Up keys or the next/previous page buttons in the viewer, page turning will be animated. The duration of the animation can be controlled in the viewer preferences. Setting it to o disables the animation completely." + + - title: "Conversion pipeline: Add an option to set the minimum line height of all elemnts as a percentage of the computed font size. By default, calibre now sets the line height to 120% of the computed font size." + + - title: "Large speedup in startup times and post metadata edit wait for large libraries" + + - title: "Allow changing the font used in the calibre interface via Preferences->Look and feel" + + - title: "Allow editing of the title sort value for a book via the edit metadata dialog" + + - title: "Disable the cover cache. This means that if you are running calibre on an underpowered machine, you might notice some slow down in the cover browser. On the other hand, calibre's memory consumption is reduced." + + - title: "You can now restart calibre in debug mode by clicking the arrow next to the Preferences button. In debug mode, after you quit calibre, a diagnostic log will popup" + tickets: [7359] + + - title: "When creating a new calibre library add an option to copy the custom column, saved searches, etc from the current library." + tickets: [7643] + + - title: "Add more tweaks to control how the next available series number is calculated." + tickets: [7892] + + - title: "Add a tweak to control layout of the custom metadata tab in the edit metadata dialog" + + - title: "Apple driver: Set series number as track number on windows when sending books to iTunes" + + - title: "Drivers for PocketBook 701 and Samsung E65" + + - title: "E-book viewer: Add option to have the mouse wheel flip pages" + + - title: "Add a load_resources method to the InterfaceAction and Plugin classes to facilitate loading of resources from plugin ZIP files" + + - title: "E-book viewer: Add option to not remember position in book when quitting." + tickets: [7699] + + - title: "When sorting the book list, keep the current book visible after the sort completes." + tickets: [7504] + + - title: "EPUB Output: Add an option to flatten the EPUB file structure, specially for FBReaderJ." + tickets: [7788] + + - title: "EPUB Output: Ensure all files inside the generated EPUB have unique filenames, to support broken EPUB readers like Stanza, Aldiko, FBReader and Sigil" + + - title: "FB2 Output: Add support for some 2.1 style tags." + + - title: "Bulk metadata edit: Add options to delete cover/generate default cover." + tickets: [7885] + + - title: "Fix a regression in 0.7.33 that broke updating covers in ebook files when saving to disk." + tickets: [7886] + + - title: "Don't refresh the Tag browser if it is hidden. Speeds up metadata editing with large libraries, if you hide teh Tag Browser." + + - title: "MOBI Output: Add option to ignore margins in input document" + tickets: [7877] + + bug fixes: + - title: "Fix various memory leaks introduced in the last couple of releases" + + - title: "EPUB metadata: When rendering first page as the cover, handle embedded svg correctly." + tickets: [7909] + + - title: "Disable multiple library support when the CALIBRE_OVERRIDE_DATABASE_PATH env var is set" + + - title: "Content server: Fix bug that could cause saved search based restrictions to not exclude all books" + tickets: [7876] + + - title: "Topaz metadata: Read metadata correctly from Topaz files that have MOBI file extensions" + + - title: "MOBI Input: Handle the (rare) MOBI files that do not specify per paragraph text indents correctly." + tickets: [7869] + + - title: "MOBI metadata reader: Handle invalid PRC files with spurious image_offset headers" + + - title: "Fix drag/drop of new cover to book detail panel does not update cover browser" + tickets: [7890] + + - title: "Do not open the book details dialog when double click on the scrollbars in the book details panel" + tickets: [7826] + + - title: "Templates: Fix {tags} not working when no tags are present" + tickets: [7888] + + - title: "HTML metadata: Fix regression that broke parsing of some meta tags" + tickets: [7851] + + - title: "Preferences: Add tooltips to buddy labels as well." + tickets: [7873] + + - title: "Content server: Fix handling of root URL when using --url-prefix" + + - title: "Ensure that the default encoding used by python is never ASCII (needed when running a non frozen version of calibre on linux)" + + improved recipes: + - Astronomy Picture of the day + - New Scientist + - Radikal + - Times of India + - Economic Times + - Zeit Online + - Dilbert + + new recipes: + - title: "Various Japanes news sources, National Geographic and paper.li" + author: "Hiroshi Miura" + + - title: "Science based medicine" + author: "BuzzKill" + + - title: "Kompiutierra" + author: "Vadim Dyadkin" + - version: 0.7.33 date: 2010-12-10 diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 9cc67b39e4..7f4d085b6a 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -2,7 +2,7 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal kovid@kovidgoyal.net' __docformat__ = 'restructuredtext en' __appname__ = 'calibre' -__version__ = '0.7.33' +__version__ = '0.7.34' __author__ = "Kovid Goyal " import re diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index df4cd9f764..6be44b3a3c 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: calibre 0.7.33\n" -"POT-Creation-Date: 2010-12-10 14:25+MST\n" -"PO-Revision-Date: 2010-12-10 14:25+MST\n" +"Project-Id-Version: calibre 0.7.34\n" +"POT-Creation-Date: 2010-12-17 11:41+MST\n" +"PO-Revision-Date: 2010-12-17 11:41+MST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/jetbook/driver.py:74 #: /home/kovid/work/calibre/src/calibre/devices/kindle/driver.py:76 #: /home/kovid/work/calibre/src/calibre/devices/kobo/books.py:24 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:465 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:466 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 @@ -35,11 +35,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:127 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:93 #: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:95 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:338 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:341 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:332 +#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:335 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1894 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1896 #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:24 @@ -53,7 +53,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/ereader.py:61 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:50 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:358 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:36 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:64 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:66 @@ -62,19 +62,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1022 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1134 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdb.py:39 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pdf.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/pml.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/snb.py:16 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/txt.py:14 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:39 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:78 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:119 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:153 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:631 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:837 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:839 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:42 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:68 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:81 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:156 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:634 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:849 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:851 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:49 #: /home/kovid/work/calibre/src/calibre/ebooks/odt/input.py:51 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:914 @@ -109,40 +109,40 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:305 #: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:307 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:357 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:364 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:329 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:334 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:160 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:140 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:142 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1039 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1042 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1053 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:163 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:714 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:193 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:235 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:244 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:396 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:415 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:942 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1135 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1095 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:190 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 #: /home/kovid/work/calibre/src/calibre/library/database.py:914 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:375 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1365 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2162 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2164 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:393 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:405 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1471 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1572 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2388 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2390 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:140 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:143 @@ -160,32 +160,32 @@ msgstr "" msgid "Base" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:200 msgid "File type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:208 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:236 msgid "Metadata reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:238 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:266 msgid "Metadata writer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:268 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:296 msgid "Catalog generator" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:369 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:397 msgid "User Interface Action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:395 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:22 +#: /home/kovid/work/calibre/src/calibre/customize/__init__.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:261 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:301 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:206 msgid "Preferences" msgstr "" @@ -249,163 +249,163 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:716 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:723 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:722 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:728 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:734 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:211 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:739 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:212 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:745 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:750 msgid "Customize the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:757 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:756 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:762 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:768 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:773 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:779 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:784 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:790 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:795 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:801 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:807 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:814 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:813 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:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:819 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:826 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:825 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:831 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:837 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:849 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 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:855 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:854 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:861 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:860 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:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:873 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:879 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:885 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:890 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:896 msgid "Miscellaneous advanced configuration" msgstr "" @@ -606,6 +606,10 @@ msgstr "" msgid "Disable the named plugin" msgstr "" +#: /home/kovid/work/calibre/src/calibre/debug.py:148 +msgid "Debug log" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:13 msgid "Communicate with Android phones." msgstr "" @@ -643,14 +647,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:378 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:947 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:987 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2956 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2996 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2972 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3012 msgid "%d of %d" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:385 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:992 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3002 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3018 msgid "finished" msgstr "" @@ -682,9 +686,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:888 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:918 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:264 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:189 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:202 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2026 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:207 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:220 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2252 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:150 msgid "News" msgstr "" @@ -692,12 +696,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:21 #: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1989 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2007 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2215 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2233 msgid "Catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2860 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2876 msgid "Communicate with iTunes." msgstr "" @@ -710,6 +714,7 @@ msgid "Communicate with the Blackberry smart phone." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/blackberry/driver.py:14 +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:253 #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:18 #: /home/kovid/work/calibre/src/calibre/devices/prs500/driver.py:90 msgid "Kovid Goyal" @@ -739,6 +744,10 @@ msgstr "" msgid "Communicate with the PocketBook 602 reader." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:252 +msgid "Communicate with the PocketBook 701" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "" @@ -895,12 +904,12 @@ msgstr "" msgid "Adding books to device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:445 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:272 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:279 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:446 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:447 msgid "\".kobo\" files do not exist on the device as books instead, they are rows in the sqlite database. Currently they cannot be exported or viewed." msgstr "" @@ -1270,241 +1279,245 @@ msgstr "" msgid "Disable all rescaling of font sizes." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:166 -msgid "The line height in pts. Controls spacing between consecutive lines of text. By default no line height manipulation is performed." +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:165 +msgid "The minimum line height, as a percentage of the element's calculated font size. calibre will ensure that every element has a line height of at least this setting, irrespective of what the input document specifies. Set to zero to disable. Default is 120%. Use this setting in preference to the direct line height specification, unless you know what you are doing. For example, you can achieve \"double spaced\" text by setting this to 240." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:174 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 +msgid "The line height in pts. Controls spacing between consecutive lines of text. Only applies to elements that do not define their own line height. In most cases, the minimum line height option is more useful. By default no line height manipulation is performed." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:191 msgid "Some badly designed documents use tables to control the layout of text on the page. When converted these documents often have text that runs off the page and other artifacts. This option will extract the content from the tables and present it in a linear fashion." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:184 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:201 msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level one. If this is specified, it takes precedence over other forms of auto-detection." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:193 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:210 msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level two. Each entry is added under the previous level one entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:218 msgid "XPath expression that specifies all tags that should be added to the Table of Contents at level three. Each entry is added under the previous level two entry." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:226 msgid "Normally, if the source file already has a Table of Contents, it is used in preference to the auto-generated one. With this option, the auto-generated one is always used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:217 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:234 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:224 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:241 msgid "If fewer than this number of chapters is detected, then links are added to the Table of Contents. Default: %default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:231 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:248 msgid "Maximum number of links to insert into the TOC. Set to 0 to disable. Default is: %default. Links are only added to the TOC if less than the threshold number of chapters were detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:239 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:256 msgid "Remove entries from the Table of Contents whose titles match the specified regular expression. Matching entries and all their children are removed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:250 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:267 msgid "An XPath expression to detect chapter titles. The default is to consider

or

tags that contain the words \"chapter\",\"book\",\"section\" or \"part\" as chapter titles as well as any tags that have class=\"chapter\". The expression used must evaluate to a list of elements. To disable chapter detection, use the expression \"/\". See the XPath Tutorial in the calibre User Manual for further help on using this feature." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:264 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:281 msgid "Specify how to mark detected chapters. A value of \"pagebreak\" will insert page breaks before chapters. A value of \"rule\" will insert a line before chapters. A value of \"none\" will disable chapter marking and a value of \"both\" will use both page breaks and lines to mark chapters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:274 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:291 msgid "Either the path to a CSS stylesheet or raw CSS. This CSS will be appended to the style rules from the source file, so it can be used to override those rules." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:283 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 msgid "An XPath expression. Page breaks are inserted before the specified elements." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:289 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 msgid "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:294 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:311 msgid "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:299 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 msgid "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:321 msgid "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:310 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:327 msgid "Change text justification. A value of \"left\" converts all justified text in the source to left aligned (i.e. unjustified) text. A value of \"justify\" converts all unjustified text to justified. A value of \"original\" (the default) does not change justification in the source file. Note that only some output formats support justification." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:320 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:337 msgid "Remove spacing between paragraphs. Also sets an indent on paragraphs of 1.5em. Spacing removal will not work if the source file does not use paragraphs (

or

tags)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:327 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:344 msgid "When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:334 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 msgid "Use the cover detected from the source file in preference to the specified cover." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:340 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:357 msgid "Insert a blank line between paragraphs. Will not work if the source file does not use paragraphs (

or

tags)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:347 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:364 msgid "Remove the first image from the input ebook. Useful if the first image in the source file is a cover and you are specifying an external cover." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:355 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:372 msgid "Insert the book metadata at the start of the book. This is useful if your ebook reader does not support displaying/searching metadata directly." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 msgid "Attempt to detect and correct hard line breaks and other problems in the source file. This may make things worse, so use with care." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:371 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 msgid "Scale used to determine the length at which a line should be unwrapped if preprocess is enabled. Valid values are a decimal between 0 and 1. The default is 0.40, just below the median line length. This will unwrap typical books with hard line breaks, but should be reduced if the line length is variable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:397 msgid "Convert plain quotes, dashes and ellipsis to their typographically correct equivalents. For details, see http://daringfireball.net/projects/smartypants" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:405 msgid "Use a regular expression to try and remove the header." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:395 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:412 msgid "The regular expression to use to remove the header." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:418 msgid "Use a regular expression to try and remove the footer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:408 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:425 msgid "The regular expression to use to remove the footer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:415 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:432 msgid "Read metadata from the specified OPF file. Metadata read from this file will override any metadata in the source file." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:422 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:439 msgid "Transliterate unicode characters to an ASCII representation. Use with care because this will replace unicode characters with ASCII. For instance it will replace \"%s\" with \"Mikhail Gorbachiov\". Also, note that in cases where there are multiple representations of a character (characters shared by Chinese and Japanese for instance) the representation used by the largest number of people will be used (Chinese in the previous example)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:454 msgid "Preserve ligatures present in the input document. A ligature is a special rendering of a pair of characters like ff, fi, fl et cetera. Most readers do not have support for ligatures in their default fonts, so they are unlikely to render correctly. By default, calibre will turn a ligature into the corresponding pair of normal characters. This option will preserve them instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:466 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:470 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:458 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:475 msgid "The version of the title to be used for sorting. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:462 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:479 msgid "String to be used when sorting by author. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:483 msgid "Set the cover to the specified file or URL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:470 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:487 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:474 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:491 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:495 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:482 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:499 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:486 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:503 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:490 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:507 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:494 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:511 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:68 msgid "Set the tags for the book. Should be a comma separated list." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:498 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:515 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:502 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:519 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:506 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:523 msgid "Set the publication date." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:510 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:527 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:610 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:627 msgid "Could not find an ebook inside the archive" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:668 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:685 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:675 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:692 msgid "Failed to parse date/time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:847 msgid "Converting input to HTML..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:858 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:875 msgid "Running transforms on ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:945 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:962 msgid "Creating" msgstr "" @@ -1573,7 +1586,11 @@ msgstr "" msgid "When using an SVG cover, this option will cause the cover to scale to cover the available screen area, but still preserve its aspect ratio (ratio of width to height). That means there may be white borders at the sides or top and bottom of the image, but the image will never be distorted. Without this option the image may be slightly distorted, but there will be no borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:173 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:105 +msgid "This option is needed only if you intend to use the EPUB with FBReaderJ. It will flatten the file system inside the EPUB, putting all files into the top level." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:184 #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:203 msgid "Start" msgstr "" @@ -1927,13 +1944,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:607 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:106 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:108 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:393 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:947 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:907 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:304 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:570 msgid "Title" @@ -1942,8 +1959,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:608 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:398 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:948 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:908 msgid "Author(s)" msgstr "" @@ -1962,10 +1979,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:211 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:109 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:79 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1154 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1114 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:188 msgid "Comments" msgstr "" @@ -1975,10 +1992,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:330 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1150 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1110 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:161 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "Tags" msgstr "" @@ -1987,8 +2004,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:347 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1119 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:109 msgid "Series" msgstr "" @@ -1998,7 +2015,7 @@ msgid "Language" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:618 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1142 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1102 msgid "Timestamp" msgstr "" @@ -2393,11 +2410,15 @@ msgstr "" msgid "Tag marking book to be filed with Personal Docs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:107 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:44 +msgid "Ignore margins in the input document. If False, then the MOBI output plugin will try to convert margins specified in the input document, otherwise it will ignore them." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:113 msgid "All articles" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:262 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:265 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "" @@ -2473,6 +2494,7 @@ msgid "%s format books are not supported" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:141 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:218 msgid "Book %s of %s" msgstr "" @@ -2487,7 +2509,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:165 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:72 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:648 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Rating" msgstr "" @@ -2648,7 +2670,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:35 msgid "Author" msgstr "" @@ -2845,133 +2867,133 @@ msgstr "" msgid "Do not remove image references within the document. This is only useful when paired with the markdown-format option becauseimage references are always removed with plain text output." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:68 msgid "Send file to storage card instead of main memory by default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:70 msgid "Confirm before deleting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:72 msgid "Main window geometry" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:74 msgid "Notify when a new version is available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:76 msgid "Use Roman numerals for series number" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:78 msgid "Sort tags list by name, popularity, or rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:80 msgid "Number of covers to show in the cover browsing mode" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:82 msgid "Defaults for conversion to LRF" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:84 msgid "Options for the LRF ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:87 msgid "Formats that are viewed using the internal viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 msgid "Columns to be displayed in the book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:90 msgid "Automatically launch content server on application startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 msgid "Oldest news kept in database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:92 msgid "Show system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:94 msgid "Upload downloaded news to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:96 msgid "Delete books from library after uploading to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:98 msgid "Show the cover flow in a separate window instead of in the main calibre window" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:100 msgid "Disable notifications from the system tray icon" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:102 msgid "Default action to perform when send to device button is clicked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:122 msgid "Maximum number of waiting worker processes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:124 msgid "Download social metadata (tags/rating/etc.)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:126 msgid "Overwrite author and title with new metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:128 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:101 msgid "Automatically download the cover, if available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:130 msgid "Limit max simultaneous jobs to number of CPUs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:132 msgid "tag browser categories not to display" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:134 msgid "The layout of the user interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:136 msgid "Show the average rating per item indication in the tag browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:138 msgid "Disable UI animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:220 msgid "Copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:219 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:220 msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:469 msgid "Choose Files" msgstr "" @@ -3015,87 +3037,87 @@ msgstr "" msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:220 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:303 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:306 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:177 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:178 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:179 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:180 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:181 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:182 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:183 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:184 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:185 msgid "SNB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:186 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:187 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:191 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:230 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:231 msgid "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:235 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:240 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:236 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:241 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:255 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:260 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:262 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:286 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:267 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:110 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:85 @@ -3103,11 +3125,11 @@ msgstr "" msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:273 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:280 msgid "The following books are virtual and cannot be added to the calibre library:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:286 msgid "No book files found" msgstr "" @@ -3120,7 +3142,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:549 msgid "Fetch annotations (experimental)" msgstr "" @@ -3137,11 +3159,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 #: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:87 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:127 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:224 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:92 msgid "No books selected" msgstr "" @@ -3215,7 +3237,7 @@ msgid "Checking database integrity" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:599 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3248,124 +3270,130 @@ msgstr "" msgid "Switch/create library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:77 msgid "Quick switch" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:170 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:78 msgid "Rename library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:172 #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:79 msgid "Delete library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:189 msgid "Library Maintenance" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:190 msgid "Library metadata backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:194 msgid "Start backing up metadata of all books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:198 msgid "Check library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:202 msgid "Check database integrity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:204 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:347 msgid "Recover database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:273 msgid "Rename" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:274 msgid "Choose a new name for the library %s. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:275 msgid "Note that the actual library folder will be renamed." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:278 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles.py:191 msgid "Already exists" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:283 msgid "The folder %s already exists. Delete it first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:289 msgid "Rename failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:286 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:290 msgid "Failed to rename the library at %s. The most common cause for this is if one of the files in the library is open in another program." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:300 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:102 msgid "Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:301 msgid "All files from %s will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:320 msgid "none" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:321 msgid "Backup status" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:322 msgid "Book metadata files remaining to be written: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:328 msgid "Backup metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:329 msgid "Metadata will be backed up while calibre is running, at the rate of approximately 1 book per second." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:348 msgid "This command rebuilds your calibre database from the information stored by calibre in the OPF files.

This function is not currently available in the GUI. You can recover your database using the 'calibredb restore_database' command line function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:362 msgid "No library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:363 msgid "No existing calibre library was found at %s. It will be removed from the list of known libraries." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:167 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:748 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:750 msgid "Not allowed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:396 +msgid "You cannot change libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:401 msgid "You cannot change libraries while jobs are running." msgstr "" @@ -3405,42 +3433,46 @@ msgstr "" msgid "Copy selected books to the specified library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:117 msgid "(delete after copy)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:126 msgid "Cannot copy" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:131 msgid "No library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:132 msgid "No library found at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:139 msgid "Copying" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150 msgid "Could not copy books: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:701 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:675 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:723 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:150 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:153 msgid "Copied %d books to %s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:168 +msgid "You cannot use other libraries while using the environment variable CALIBRE_OVERRIDE_DATABASE_PATH." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:31 msgid "Deleting..." msgstr "" @@ -3510,14 +3542,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:170 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:485 msgid "Storage Card B" msgstr "" @@ -3667,32 +3699,32 @@ msgid "Downloading %s for %d book(s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:186 msgid "Cannot edit metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:226 msgid "Cannot merge books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:227 msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:228 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:230 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:236 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:238 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:248 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:250 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:264 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:266 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 "" @@ -3732,25 +3764,29 @@ msgstr "" msgid "O" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:17 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:18 msgid "Ctrl+P" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:24 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:28 +msgid "Restart in debug mode" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:43 msgid "Cannot configure" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:39 msgid "Cannot configure while there are running jobs." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:44 msgid "Cannot configure before calibre is restarted." msgstr "" @@ -3820,7 +3856,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:655 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:657 msgid "Show book details" msgstr "" @@ -3962,7 +3998,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:250 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:824 msgid "No books" msgstr "" @@ -3990,11 +4026,11 @@ msgstr "" msgid "Adding duplicates..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:417 msgid "Saving..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/add.py:492 msgid "Saved" msgstr "" @@ -4070,19 +4106,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:142 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:176 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:85 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:77 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:376 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:383 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:412 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:420 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:427 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:437 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:439 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:449 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:92 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:161 @@ -4136,32 +4173,32 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:59 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:418 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:423 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:124 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:337 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1140 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:319 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1100 msgid "Path" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:126 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:118 msgid "Formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:951 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1143 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:911 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1103 msgid "Collections" msgstr "" @@ -4171,11 +4208,11 @@ msgid "Click to open" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:53 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:329 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:335 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:341 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1149 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1153 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:311 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:323 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1109 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1113 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 @@ -4183,7 +4220,7 @@ msgstr "" msgid "None" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:422 msgid "Double-click to open Book Details window" msgstr "" @@ -4234,13 +4271,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:54 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:39 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:171 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:36 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:40 @@ -4264,7 +4301,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:81 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:105 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:113 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins_ui.py:81 @@ -4556,30 +4593,34 @@ msgstr "" msgid "EPUB Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57 msgid "Do not &split on page breaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:58 msgid "No default &cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:59 msgid "No &SVG cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:60 msgid "Preserve cover &aspect ratio" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:61 msgid "Split files &larger than:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:62 msgid " KB" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:63 +msgid "&Flatten EPUB file structure" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input.py:12 msgid "FB2 Input" msgstr "" @@ -4625,15 +4666,15 @@ msgid "&Base font size:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:110 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 msgid "Font size &key:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 @@ -4684,70 +4725,78 @@ msgstr "" msgid "Justify text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 msgid "&Disable font size rescaling" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Base &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:141 msgid "Wizard to help you choose an appropriate font size key" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:143 msgid "Line &height:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145 msgid "Input character &encoding:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146 msgid "Remove &spacing between paragraphs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 msgid "Indent size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:148 msgid "

When calibre removes inter paragraph spacing, it automatically sets a paragraph indent, to ensure that paragraphs can be easily distinguished. This option controls the width of that indent." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:149 msgid " em" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:150 msgid "Text justification:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:151 msgid "&Linearize tables" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:143 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:152 msgid "Extra &CSS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:153 msgid "&Transliterate unicode characters to ASCII" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:154 msgid "Insert &blank line" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:155 msgid "Keep &ligatures" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:156 msgid "Smarten &punctuation" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:157 +msgid "Minimum &line height:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:158 +msgid " %" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" msgstr "" @@ -4842,7 +4891,7 @@ msgid " is not a valid picture" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:172 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:414 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:443 msgid "Book Cover" msgstr "" @@ -4851,7 +4900,7 @@ msgid "Use cover from &source file" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:174 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:415 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:444 msgid "Change &cover image:" msgstr "" @@ -4860,18 +4909,18 @@ msgid "Browse for an image to use as the cover of this book." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:177 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:397 msgid "&Title: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:178 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "Change the title of this book" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:401 msgid "&Author(s): " msgstr "" @@ -4884,40 +4933,40 @@ msgid "Change the author(s) of this book. Multiple authors should be separated b msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "&Publisher: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:410 msgid "Ta&gs: " msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:428 msgid "Tags categorize the book. This is particularly useful while searching.

They can be any words or phrases, separated by commas." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:354 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:365 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:355 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:394 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:366 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413 msgid "List of known series. You can add new series." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:188 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:414 msgid "Book " msgstr "" @@ -4925,42 +4974,46 @@ msgstr "" msgid "MOBI Output" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output.py:44 msgid "Default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:75 msgid "&Title for Table of Contents:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 msgid "Rescale images for &Palm devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:77 msgid "Use author &sort for author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:78 msgid "Disable compression of the file contents" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:79 msgid "Do not add Table of Contents to book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:80 msgid "Kindle options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:81 msgid "Periodical masthead font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:82 msgid "Personal Doc tag:" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:83 +msgid "Ignore &margins" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" msgstr "" @@ -5444,23 +5497,23 @@ msgid "Automatically number books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:547 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:609 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:607 msgid "The enumeration \"{0}\" contains invalid values that will not appear in the list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:665 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:663 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:686 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:684 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:691 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:689 msgid "tags to remove" msgstr "" @@ -5469,162 +5522,162 @@ msgstr "" msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:190 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:308 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:319 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:329 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:341 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:346 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:381 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:396 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:413 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:423 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:457 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:494 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:537 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:600 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:605 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:616 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1100 #: /home/kovid/work/calibre/src/calibre/gui2/email.py:296 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:634 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:681 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:682 msgid "There was a temporary error talking to the device. Please unplug and reconnect the device and or reboot." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:725 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:825 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:830 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:839 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:840 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:843 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:847 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:844 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:848 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:883 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:966 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1083 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1094 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:923 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1008 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1061 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1101 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:1154 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1165 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1166 msgid "

Cannot upload books to device there is no more free space available " msgstr "" @@ -5695,7 +5748,7 @@ msgid "My Books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:308 msgid "Generate catalog" msgstr "" @@ -5777,72 +5830,82 @@ msgstr "" msgid "Choose Format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:43 msgid "Choose location for calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:50 msgid "Same as current" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 msgid "The location %s contains the current calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 msgid "No existing library found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 msgid "There is no existing calibre library at %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:61 msgid "Not empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:62 msgid "The folder %s is not empty. Please choose an empty folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 msgid "No location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 msgid "No location selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:89 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:90 msgid "%s is not an existing folder" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:77 msgid "Choose your calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:78 msgid "Your calibre library is currently located at {0}" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:79 msgid "New &Location:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:80 msgid "Use &existing library at the new location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:81 msgid "&Create an empty library at the new location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:82 +msgid "&Copy structure from the current library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:83 +msgid "" +"Copy the custom columns, saved searches, column widths, plugboards,\n" +"user categories, and other information from the old to the new library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library_ui.py:85 msgid "&Move current library to new location" msgstr "" @@ -5902,7 +5965,7 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:949 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:909 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:295 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 @@ -5911,7 +5974,7 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1139 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1099 msgid "Format" msgstr "" @@ -5920,19 +5983,19 @@ msgstr "" msgid "Delete from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:35 msgid "Author sort" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:689 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:697 msgid "Invalid author name" msgstr "" #: -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:690 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:698 msgid "Author names cannot contain & characters." msgstr "" @@ -6078,170 +6141,170 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:204 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:205 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:207 msgid "Capitalize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:210 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:211 msgid "Regular Expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:214 msgid "Replace field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:215 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:216 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:227 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:239 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:256 msgid "Immediately make all changes without closing the dialog. This operation cannot be canceled or undone" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:292 msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:307 msgid "You can destroy your library using this feature. Changes are permanent. There is no undo function. You are strongly encouraged to back up your library before proceeding.

Search and replace in text fields using character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:298 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:315 msgid "In character mode, the field is searched for the entered search text. The text is replaced by the specified replacement text everywhere it is found in the specified field. After replacement is finished, the text can be changed to upper-case, lower-case, or title-case. If the case-sensitive check box is checked, the search text must match exactly. If it is unchecked, the search text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:326 msgid "In regular expression mode, the search text is an arbitrary python-compatible regular expression. The replacement text can contain backreferences to parenthesized expressions in the pattern. The search is not anchored, and can match and replace multiple times on the same string. The modification functions (lower-case etc) are applied to the matched text, not to the field as a whole. The destination box specifies the field where the result after matching and replacement is to be assigned. You can replace the text in the field, or prepend or append the matched text. See this reference for more information on python's regular expressions, and in particular the 'sub' function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:471 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:546 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:554 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:649 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:563 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:571 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:666 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:564 msgid "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:555 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:572 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:667 msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:709 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Edit Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:348 msgid "A&utomatically set author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:338 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 msgid "Author s&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 msgid "&Rating:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:341 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:385 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 msgid "Rating of this book. 0-5 stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:354 msgid "No change" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:408 msgid " stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:348 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:391 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:360 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:429 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:430 msgid "Open Tag Editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:361 msgid "&Remove tags:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:351 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 msgid "Comma separated list of tags to remove from the books. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:352 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Check this box to remove all tags from the books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:353 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:364 msgid "Remove all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "If checked, the series will be cleared" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:358 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:369 msgid "Clear series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:359 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:370 msgid "" "If not checked, the series number for the books will be set to 1.\n" "If checked, selected books will be automatically numbered, in the order\n" @@ -6249,145 +6312,157 @@ msgid "" "Book A will have series number 1 and Book B series number 2." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:374 msgid "Automatically number books in this series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 msgid "" "Series will normally be renumbered from the highest number in the database\n" "for that series. Checking this box will tell calibre to start numbering\n" "from the value in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Remove &format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:369 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:370 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "" "Force the title to be in title case. If both this and swap authors are checked,\n" "title and author are swapped before the title case is set" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "Change title to title case" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" "Future conversion of these books will use the default settings." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "Remove &stored conversion settings for the selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 -msgid "&Basic metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425 -msgid "&Custom metadata" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 -msgid "Search &field:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 -msgid "The name of the field that you want to search" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 -msgid "Search mode:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 -msgid "Choose whether to use basic text matching or advanced regular expression matching" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 -msgid "&Search for:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 -msgid "Enter the what you are looking for, either plain text or a regular expression, depending on the mode" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 -msgid "Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 -msgid "Case sensitive" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 -msgid "&Replace with:" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 -msgid "The replacement text. The matched search text will be replaced with this string" +msgid "Change &cover" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 -msgid "Apply function after replace:" +msgid "&Generate default cover" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 +msgid "&Remove cover" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:453 +msgid "&Basic metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:454 +msgid "&Custom metadata" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:393 +msgid "Search &field:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 +msgid "The name of the field that you want to search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:395 +msgid "Search mode:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:396 +msgid "Choose whether to use basic text matching or advanced regular expression matching" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +msgid "&Search for:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 +msgid "Enter the what you are looking for, either plain text or a regular expression, depending on the mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:399 +msgid "Check this box if the search string must match exactly upper and lower case. Uncheck it if case is to be ignored" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:400 +msgid "Case sensitive" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:401 +msgid "&Replace with:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:402 +msgid "The replacement text. The matched search text will be replaced with this string" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:403 +msgid "Apply function after replace:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:404 msgid "" "Specify how the text is to be processed after matching and replacement. In character mode, the entire\n" "field is processed. In regular expression mode, only the matched text is processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:406 msgid "&Destination field:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:407 msgid "The field that the text will be put into after all replacements. If blank, the source field is used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:408 msgid "Mode:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:409 msgid "Specify how the text should be copied into the destination." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:410 msgid "" "If the replace mode is prepend or append, then this box indicates whether a comma or\n" "nothing should be put between the original text and the inserted text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:412 msgid "use comma" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:399 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:413 msgid "Test &text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:400 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:414 msgid "Test re&sult" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:401 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:415 msgid "Your test:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:402 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:416 msgid "&Search and replace" msgstr "" @@ -6424,237 +6499,259 @@ msgstr "" msgid "You must specify a title and author before generating a cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:247 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:244 msgid "Downloading cover..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:258 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:263 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:269 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:271 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:276 msgid "Cannot fetch cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:259 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:270 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:275 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:277 msgid "Could not fetch cover.
" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:262 msgid "The download timed out." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:264 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:266 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:276 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:278 msgid "For the error message from each cover source, click Show details below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:285 msgid "Bad cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:286 msgid "The cover is not a valid picture" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:305 msgid "Choose formats for " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:336 msgid "No permission" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:337 msgid "You do not have permission to read the following files:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:361 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:364 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:365 msgid "No format selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:376 msgid "Could not read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:377 msgid "Could not read metadata from %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:445 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:448 msgid " The green color indicates that the current author sort matches the current author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:448 -msgid " The red color indicates that the current author sort does not match the current author" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:451 +msgid " The red color indicates that the current author sort does not match the current author. No action is required if this is what you want." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:458 +msgid " The green color indicates that the current title sort matches the current title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:461 +msgid " The red color warns that the current title sort does not match the current title. No action is required if this is what you want." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:467 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:221 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:384 msgid "Previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:456 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:478 msgid "Save changes and edit the metadata of %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:475 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:103 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:211 #: /home/kovid/work/calibre/src/calibre/web/feeds/templates.py:401 msgid "Next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:635 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:675 msgid "This ISBN number is valid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:678 msgid "This ISBN number is invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:754 msgid "Tags changed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:755 msgid "You have changed the tags. In order to use the tags editor, you must either discard or apply these changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:754 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:793 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:755 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:794 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:789 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:828 msgid "Cannot fetch metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:790 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:829 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:924 msgid "Permission denied" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:886 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:925 msgid "Could not open %s. Is it being used by another program?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:395 msgid "Edit Meta Information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:372 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:375 -msgid "Swap the author and title" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 +msgid "Title &sort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:400 +msgid "Specify how this book should be sorted when by title. For example, The Exorcist might be sorted as Exorcist, The." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 msgid "Author S&ort: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles Dickens should be sorted as Dickens, Charles.\n" "If the box is colored green, then text matches the individual author's sort strings. If it is colored red, then the authors and this text do not match." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:381 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:415 +msgid "IS&BN:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:416 +msgid "&Date:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:417 +msgid "dd MMM yyyy" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:418 +msgid "Publishe&d:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:420 +msgid "" +"Automatically create the title sort entry based on the current title entry.\n" +"Using this button to create title sort will change title sort from red to green." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:423 +msgid "Swap the author and title" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:425 msgid "" "Automatically create the author sort entry based on the current author entry.\n" "Using this button to create author sort will change author sort from red to green." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:431 msgid "Remove unused series (Series that have no books)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 -msgid "IS&BN:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:399 -msgid "Publishe&d:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:402 -msgid "dd MMM yyyy" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:403 -msgid "&Date:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:404 -msgid "&Comments" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:433 msgid "&Fetch metadata from server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:406 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:434 +msgid "&Comments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:435 msgid "Available Formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:436 msgid "Add a new format for this book to the database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:438 msgid "Remove the selected formats for this book from the database." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:440 msgid "Set the cover for the book from the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:442 msgid "Update metadata from the metadata in the selected format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:445 msgid "&Browse" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:417 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:446 msgid "Remove border (if any) from cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:418 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:447 msgid "T&rim" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:419 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:448 msgid "Reset cover to default" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:450 msgid "Download co&ver" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:451 msgid "Generate a default cover based on the title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:423 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:452 msgid "&Generate cover" msgstr "" @@ -7119,12 +7216,12 @@ msgid "%s (was %s)" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:687 msgid "Item is blank" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:680 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:688 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -7515,34 +7612,34 @@ msgstr "" msgid "Shift+Alt+T" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:145 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:147 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:29 msgid "version" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:30 msgid "created by Kovid Goyal" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:166 msgid "Connected " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:178 msgid "Update found" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:211 -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 msgid "Book Details" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:215 msgid "Alt+D" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/init.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/init.py:225 msgid "Shift+Alt+D" msgstr "" @@ -7631,7 +7728,7 @@ msgid "Show books in the main memory of the device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:828 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 msgid "Card A" msgstr "" @@ -7640,7 +7737,7 @@ msgid "Show books in storage card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:830 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 msgid "Card B" msgstr "" @@ -7714,82 +7811,82 @@ msgstr "" msgid "Size (MB)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:348 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:330 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:713 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1259 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:454 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:673 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1219 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:462 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:719 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1261 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1221 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:946 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:906 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:950 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:910 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1159 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1119 msgid "Book %s of %s." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1239 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1199 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1242 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1202 msgid "Double click to edit me

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:149 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:150 msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:154 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:155 msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:155 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:156 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:159 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:171 msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:173 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:173 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:174 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:192 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:193 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:205 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:749 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:751 msgid "Dropping onto a device is not supported. First add the book to the calibre library." msgstr "" @@ -7818,7 +7915,7 @@ msgid "No matches for the search phrase %s were found." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:453 msgid "No matches found" msgstr "" @@ -7835,12 +7932,12 @@ msgid "LRF Viewer toolbar" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:522 msgid "Next Page" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:504 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:523 msgid "Previous Page" msgstr "" @@ -7901,81 +7998,81 @@ msgid "Failed to create calibre library at: %r." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:185 msgid "Choose a location for your new calibre e-book library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:153 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:154 msgid "Initializing user interface..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 msgid "Repairing failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:179 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:180 msgid "The database repair failed. Starting with a new empty library." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:193 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:227 msgid "Bad database location" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:195 msgid "Bad database location %r. calibre will now quit." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "Corrupted database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:209 msgid "Your calibre database appears to be corrupted. Do you want calibre to try and repair it automatically? If you say No, a new empty calibre library will be created." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:215 msgid "Repairing database. This can take a very long time for a large collection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:228 msgid "Bad database location %r. Will start with a new, empty calibre library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:238 msgid "Starting %s: Loading books..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:318 msgid "If you are sure it is not running" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:320 msgid "Cannot Start " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:321 msgid "%s is already running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:324 msgid "may be running in the system tray, in the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:326 msgid "upper right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:292 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:328 msgid "lower right region of the screen." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:295 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:331 msgid "try rebooting your computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:297 -#: /home/kovid/work/calibre/src/calibre/gui2/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/main.py:345 msgid "try deleting the file" msgstr "" @@ -8034,7 +8131,7 @@ msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:654 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:656 msgid "Details" msgstr "" @@ -8470,102 +8567,110 @@ msgstr "" msgid "new email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:25 msgid "Narrow" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:25 msgid "Wide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:52 msgid "Medium" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:52 msgid "Small" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:53 msgid "Large" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:56 msgid "Always" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:56 msgid "Automatic" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:57 msgid "Never" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:120 msgid "User Interface &layout (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:121 msgid "&Number of covers to show in browse mode (needs restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:122 msgid "Choose &language (requires restart):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:123 msgid "Show &average ratings in the tags browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:124 msgid "Disable all animations. Useful if you have a slow/old computer." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:125 msgid "Disable &animations" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:126 msgid "Enable system &tray icon (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:127 msgid "Show &splash screen at startup" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:128 msgid "Disable ¬ifications in system tray" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:129 msgid "Use &Roman numerals for series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:130 msgid "Show cover &browser in a separate window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:131 msgid "Search as you type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:132 msgid "&Toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:133 msgid "&Icon size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:134 msgid "Show &text under icons:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:135 msgid "&Split the toolbar into two toolbars" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:136 +msgid "Interface font:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:137 +msgid "Change &font (needs restart)" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "" @@ -8582,19 +8687,19 @@ msgstr "" msgid "Cancel and return to overview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:287 msgid "Restoring to defaults not supported for" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:322 msgid "Some of the changes you made require a restart. Please restart calibre as soon as possible." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:325 msgid "The changes you have made require calibre be restarted immediately. You will not be allowed set any more preferences, until you restart." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:330 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "" @@ -8875,7 +8980,7 @@ msgid "Here you can control how calibre will save your books when you click the msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:340 msgid "Failed to start content server" msgstr "" @@ -9150,94 +9255,94 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:225 msgid "Rename '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:229 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:226 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:234 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:229 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:237 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:238 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:242 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:250 msgid "Manage %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:253 msgid "Manage Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:252 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:256 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:264 msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:263 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:271 msgid "Show all categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:549 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:557 msgid "Changing the authors for several books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:554 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:562 msgid "Changing the metadata for that many books can take a while. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:611 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:619 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:314 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:694 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:702 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:703 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:985 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:976 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:985 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:977 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:986 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:980 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:989 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:995 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:986 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:995 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1000 msgid "When selecting multiple entries in the Tag Browser match any or all of them" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:995 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1004 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:998 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:1007 msgid "Add your own categories to the Tag Browser" msgstr "" @@ -9264,71 +9369,79 @@ msgstr "" msgid "Queueing " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:250 msgid "Fetch news from " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:320 msgid "Convert existing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/tools.py:321 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:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:173 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:177 msgid "&Eject connected device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:218 msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:266 +msgid "Debug mode" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:267 +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:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:462 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "

Could not convert: %s

It is a DRMed book. You must first remove the DRM using third party tools." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:477 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:493 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:530 msgid "is the result of the efforts of many volunteers from all over the world. If you find it useful, please consider donating to support its development. Your donation helps keep calibre development going." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:556 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:559 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:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:563 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:638 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" @@ -9400,188 +9513,224 @@ msgstr "" msgid "Import" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:159 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:178 msgid "Configure Ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:179 msgid "&Font options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:180 msgid "Se&rif family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:181 msgid "&Sans family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182 msgid "&Monospace family:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:183 msgid "&Default font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:165 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:167 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:201 msgid " px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:185 msgid "Monospace &font size:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:187 msgid "S&tandard font:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:188 msgid "Serif" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:189 msgid "Sans-serif" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:190 msgid "Monospace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:172 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:191 msgid "Remember last used &window size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:174 -msgid "Maximum &view width:" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:192 +msgid "Remember the ¤t page when quitting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:193 msgid "H&yphenate (break line in the middle of large words)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:194 msgid "The default language to use for hyphenation rules. If the book does not specify a language, this will be used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:177 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:195 msgid "Default &language for hyphenation:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:178 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:196 msgid "&Resize images larger than the viewer window (needs restart)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:179 -msgid "&User stylesheet" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:197 +msgid "Page flip &duration:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:198 +msgid "disabled" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:199 +msgid " secs" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:200 +msgid "Mouse &wheel flips pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:202 +msgid "Maximum &view width:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:203 msgid "&General" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:181 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:204 msgid "Double click to change a keyboard shortcut" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:205 msgid "&Keyboard shortcuts" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:206 +msgid "

A CSS stylesheet that can be used to control the look and feel of books. For examples, click here." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:207 +msgid "User &Stylesheet" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/viewer/dictionary.py:53 msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:37 msgid "Options to customize the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:720 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:728 msgid "Remember last used window size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:93 msgid "Set the user CSS stylesheet. This can be used to customize the look of all books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 msgid "Maximum width of the viewer window, in pixels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 msgid "Resize images larger than the viewer window to fit inside it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51 msgid "Hyphenate text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 msgid "Default language for hyphenation rules" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 -msgid "Font options" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 +msgid "Save the current position in the document, when quitting" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56 -msgid "The serif font family" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 +msgid "Have the mouse wheel turn pages" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:58 -msgid "The sans-serif font family" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60 -msgid "The monospaced font family" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 -msgid "The standard font size in px" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 +msgid "The time, in seconds, for the page flip animation. Default is half a second." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 +msgid "Font options" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:64 +msgid "The serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:66 +msgid "The sans-serif font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:68 +msgid "The monospaced font family" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:69 +msgid "The standard font size in px" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:70 msgid "The monospaced font size in px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:71 msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:498 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:513 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:514 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:516 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:498 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:517 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:519 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:520 msgid "Section End" msgstr "" @@ -9657,75 +9806,75 @@ msgstr "" msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:415 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:420 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:416 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:421 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:454 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:497 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:530 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:535 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:566 msgid "Bookmark #%d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:565 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:566 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:571 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:576 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:581 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:621 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:629 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:630 msgid "

This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:634 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:707 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:715 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:714 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:722 msgid "If specified, viewer window will try to come to the front when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:717 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:725 msgid "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:722 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:730 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:728 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:736 msgid "" "%prog [options] file\n" "\n" @@ -10099,50 +10248,50 @@ msgstr "" msgid "Turn on the &content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:373 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:264 msgid "today" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:376 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:267 msgid "yesterday" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:379 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:270 msgid "thismonth" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:382 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:383 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:273 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:274 msgid "daysago" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:562 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:453 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:463 msgid "unchecked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:562 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:572 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:184 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:453 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:463 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:183 msgid "no" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:565 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:466 msgid "checked" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:565 -#: /home/kovid/work/calibre/src/calibre/library/caches.py:575 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:184 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:456 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:466 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:183 msgid "yes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:460 msgid "blank" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/caches.py:569 +#: /home/kovid/work/calibre/src/calibre/library/caches.py:460 msgid "empty" msgstr "" @@ -10807,35 +10956,35 @@ 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:59 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:58 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:826 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:844 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2547 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2576 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2593 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2686 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2725 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2527 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2753 msgid "Checked id" msgstr "" @@ -10948,8 +11097,8 @@ msgstr "" msgid "Replace whitespace with underscores." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:350 -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:374 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:352 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:376 msgid "Requested formats not available" msgstr "" @@ -11071,43 +11220,43 @@ msgstr "" msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:574 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:576 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:577 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:579 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:638 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:656 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:658 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:657 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:659 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:668 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:670 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:752 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:754 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:754 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:756 msgid "Matching books" msgstr "" From 21d940db2f7b2e447653f1cc809c8ece723f3148 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 12:23:53 -0700 Subject: [PATCH 05/10] IGN:Tag release From fcb501c1aa5ddc9a0fac1bf77cc525564bd960af Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 13:18:13 -0700 Subject: [PATCH 06/10] ... --- Changelog.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Changelog.yaml b/Changelog.yaml index 5c3f238b11..7f7afc117a 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -66,6 +66,8 @@ - title: "MOBI Output: Add option to ignore margins in input document" tickets: [7877] + - title: "Kobo driver: Add support for 1.8.x firmware" + bug fixes: - title: "Fix various memory leaks introduced in the last couple of releases" From 7ab3ce7fe46ba7c271a7f4894253b1b5d3902c15 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 19:06:32 -0700 Subject: [PATCH 07/10] ... --- resources/recipes/nejm.recipe | 91 +++++++++++++++-------------------- src/calibre/web/feeds/news.py | 1 + 2 files changed, 41 insertions(+), 51 deletions(-) diff --git a/resources/recipes/nejm.recipe b/resources/recipes/nejm.recipe index c860413926..35098c92cb 100644 --- a/resources/recipes/nejm.recipe +++ b/resources/recipes/nejm.recipe @@ -38,61 +38,50 @@ class NYTimes(BasicNewsRecipe): #TO GET ARTICLE TOC def nejm_get_index(self): - return self.index_to_soup('http://content.nejm.org/current.dtl') + return self.index_to_soup('http://content.nejm.org/current.dtl') # To parse artice toc def parse_index(self): - parse_soup = self.nejm_get_index() + parse_soup = self.nejm_get_index() - div = parse_soup.find(id='centerTOC') + feeds = [] - current_section = None - current_articles = [] - feeds = [] - for x in div.findAll(True): - if x.name == 'img' and '/toc/' in x.get('src', '') and 'uarrow.gif' not in x.get('src', ''): - # Section heading found - if current_articles and current_section and 'Week in the' not in current_section: - feeds.append((current_section, current_articles)) - current_section = x.get('alt') - current_articles = [] - self.log('\tFound section:', current_section) - if current_section is not None and x.name == 'strong': - title = self.tag_to_string(x) - a = x.parent.find('a', href=lambda x: x and '/full/' in x) - if a is None: - continue - url = a.get('href', False) - if not url or not title: - continue - if url.startswith('/'): - url = 'http://content.nejm.org'+url - self.log('\t\tFound article:', title) - self.log('\t\t\t', url) - if url.startswith('/'): - url = 'http://online.wsj.com'+url - current_articles.append({'title': title, 'url':url, - 'description':'', 'date':''}) - - if current_articles and current_section: - feeds.append((current_section, current_articles)) - - return feeds - - def preprocess_html(self, soup): - for a in soup.findAll(text=lambda x: x and '[in this window]' in x): - a = a.findParent('a') - url = a.get('href', None) - if not url: + div = parse_soup.find(attrs={'class':'tocContent'}) + for group in div.findAll(attrs={'class':'articleGrouping'}): + feed_title = group.find(attrs={'class':'articleType'}) + if feed_title is None: continue - if url.startswith('/'): - url = 'http://content.nejm.org'+url - isoup = self.index_to_soup(url) - img = isoup.find('img', src=lambda x: x and - x.startswith('/content/')) - if img is not None: - img.extract() - table = a.findParent('table') - table.replaceWith(img) - return soup + feed_title = self.tag_to_string(feed_title) + articles = [] + self.log('Found section:', feed_title) + for art in group.findAll(attrs={'class':lambda x: x and 'articleEntry' + in x}): + link = art.find(attrs={'class':lambda x:x and 'articleLink' in + x}) + if link is None: + continue + a = link.find('a', href=True) + if a is None: + continue + url = a.get('href') + if url.startswith('/'): + url = 'http://www.nejm.org'+url + title = self.tag_to_string(a) + self.log.info('\tFound article:', title, 'at', url) + article = {'title':title, 'url':url, 'date':''} + au = art.find(attrs={'class':'articleAuthors'}) + if au is not None: + article['author'] = self.tag_to_string(au) + desc = art.find(attrs={'class':'hover_text'}) + if desc is not None: + desc = self.tag_to_string(desc) + if 'author' in article: + desc = ' by ' + article['author'] + ' ' +desc + article['description'] = desc + articles.append(article) + if articles: + feeds.append((feed_title, articles)) + + return feeds + diff --git a/src/calibre/web/feeds/news.py b/src/calibre/web/feeds/news.py index ad2991d620..7bd5301dfb 100644 --- a/src/calibre/web/feeds/news.py +++ b/src/calibre/web/feeds/news.py @@ -548,6 +548,7 @@ class BasicNewsRecipe(Recipe): } For an example, see the recipe for downloading `The Atlantic`. + In addition, you can add 'author' for the author of the article. ''' raise NotImplementedError From b2ace1e470c67f40648dad5d8f98ed1bb249f27d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 19:15:32 -0700 Subject: [PATCH 08/10] ... --- resources/recipes/nejm.recipe | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/resources/recipes/nejm.recipe b/resources/recipes/nejm.recipe index 35098c92cb..a6580a5232 100644 --- a/resources/recipes/nejm.recipe +++ b/resources/recipes/nejm.recipe @@ -11,16 +11,7 @@ class NYTimes(BasicNewsRecipe): language = 'en' no_stylesheets = True - remove_tags_before = dict(name='div', attrs={'align':'center'}) - remove_tags_after = dict(name='ol', attrs={'compact':'COMPACT'}) - remove_tags = [ - dict(name='iframe'), - #dict(name='div', attrs={'class':'related-articles'}), - dict(name='div', attrs={'id':['sidebar']}), - #dict(name='form', attrs={'onsubmit':"return verifySearch(this.w,'Keyword, citation, or author')"}), - dict(name='table', attrs={'align':'RIGHT'}), - ] - + keep_only_tags = dict(id='content') #TO LOGIN From 3cc953d621c6bd4a00040601a5050d8dbb067fc7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 20:21:12 -0700 Subject: [PATCH 09/10] Fix #7934 (Database corruption error) --- src/calibre/library/database2.py | 2 +- src/calibre/library/schema_upgrades.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 1557f5065e..35ef8c1f58 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -1967,7 +1967,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): @classmethod def cleanup_tags(cls, tags): - tags = [x.strip() for x in tags if x.strip()] + tags = [x.strip().replace(',', ';') for x in tags if x.strip()] tags = [x.decode(preferred_encoding, 'replace') \ if isbytestring(x) else x for x in tags] tags = [u' '.join(x.split()) for x in tags] diff --git a/src/calibre/library/schema_upgrades.py b/src/calibre/library/schema_upgrades.py index 597cee8cfd..1483743e4a 100644 --- a/src/calibre/library/schema_upgrades.py +++ b/src/calibre/library/schema_upgrades.py @@ -427,7 +427,9 @@ class SchemaUpgrade(object): def upgrade_version_15(self): 'Remove commas from tags' - self.conn.execute("UPDATE tags SET name=REPLACE(name, ',', ';')") + self.conn.execute("UPDATE OR IGNORE tags SET name=REPLACE(name, ',', ';')") + self.conn.execute("UPDATE OR IGNORE tags SET name=REPLACE(name, ',', ';;')") + self.conn.execute("UPDATE OR IGNORE tags SET name=REPLACE(name, ',', '')") def upgrade_version_16(self): self.conn.executescript(''' From b9f2346cba22abbf5881735fb75f6a440a73fb38 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 17 Dec 2010 20:59:48 -0700 Subject: [PATCH 10/10] Fix #7938 (Stanza shows some authors as "catalog is empty") --- resources/recipes/johm.recipe | 78 +++++++++++++----------------- src/calibre/library/server/opds.py | 14 +++--- 2 files changed, 41 insertions(+), 51 deletions(-) diff --git a/resources/recipes/johm.recipe b/resources/recipes/johm.recipe index ee162b27c2..6930f05a50 100644 --- a/resources/recipes/johm.recipe +++ b/resources/recipes/johm.recipe @@ -12,16 +12,6 @@ class JournalofHospitalMedicine(BasicNewsRecipe): language = 'en' no_stylesheets = True - #remove_tags_before = dict(name='div', attrs={'align':'center'}) - #remove_tags_after = dict(name='ol', attrs={'compact':'COMPACT'}) - remove_tags = [ - dict(name='iframe'), - dict(name='div', attrs={'class':'subContent'}), - dict(name='div', attrs={'id':['contentFrame']}), - #dict(name='form', attrs={'onsubmit':"return verifySearch(this.w,'Keyword, citation, or author')"}), - #dict(name='table', attrs={'align':'RIGHT'}), - ] - # TO LOGIN @@ -39,47 +29,47 @@ class JournalofHospitalMedicine(BasicNewsRecipe): #TO GET ARTICLE TOC def johm_get_index(self): - return self.index_to_soup('http://www3.interscience.wiley.com/journal/111081937/home') + return self.index_to_soup('http://www3.interscience.wiley.com/journal/111081937/home') # To parse artice toc def parse_index(self): - parse_soup = self.johm_get_index() + parse_soup = self.johm_get_index() - div = parse_soup.find(id='contentCell') + div = parse_soup.find(id='contentCell') - current_section = None - current_articles = [] - feeds = [] - for x in div.findAll(True): - if x.name == 'h4': - # Section heading found - if current_articles and current_section: - feeds.append((current_section, current_articles)) - current_section = self.tag_to_string(x) - current_articles = [] - self.log('\tFound section:', current_section) - if current_section is not None and x.name == 'strong': - title = self.tag_to_string(x) - p = x.parent.parent.find('a', href=lambda x: x and '/HTMLSTART' in x) - if p is None: - continue - url = p.get('href', False) - if not url or not title: - continue - if url.startswith('/'): - url = 'http://www3.interscience.wiley.com'+url - url = url.replace('/HTMLSTART', '/main.html,ftx_abs') - self.log('\t\tFound article:', title) - self.log('\t\t\t', url) - #if url.startswith('/'): - #url = 'http://online.wsj.com'+url - current_articles.append({'title': title, 'url':url, - 'description':'', 'date':''}) + current_section = None + current_articles = [] + feeds = [] + for x in div.findAll(True): + if x.name == 'h4': + # Section heading found + if current_articles and current_section: + feeds.append((current_section, current_articles)) + current_section = self.tag_to_string(x) + current_articles = [] + self.log('\tFound section:', current_section) + if current_section is not None and x.name == 'strong': + title = self.tag_to_string(x) + p = x.parent.parent.find('a', href=lambda x: x and '/HTMLSTART' in x) + if p is None: + continue + url = p.get('href', False) + if not url or not title: + continue + if url.startswith('/'): + url = 'http://www3.interscience.wiley.com'+url + url = url.replace('/HTMLSTART', '/main.html,ftx_abs') + self.log('\t\tFound article:', title) + self.log('\t\t\t', url) + #if url.startswith('/'): + #url = 'http://online.wsj.com'+url + current_articles.append({'title': title, 'url':url, + 'description':'', 'date':''}) - if current_articles and current_section: - feeds.append((current_section, current_articles)) + if current_articles and current_section: + feeds.append((current_section, current_articles)) - return feeds + return feeds def preprocess_html(self, soup): for img in soup.findAll('img', src=True): diff --git a/src/calibre/library/server/opds.py b/src/calibre/library/server/opds.py index af635ebf48..cd0b80d4f0 100644 --- a/src/calibre/library/server/opds.py +++ b/src/calibre/library/server/opds.py @@ -19,7 +19,7 @@ from calibre.ebooks.metadata import fmt_sidx from calibre.library.comments import comments_to_html from calibre.library.server import custom_fields_to_display from calibre.library.server.utils import format_tag_string, Offsets -from calibre import guess_type +from calibre import guess_type, prepare_string_for_xml as xml from calibre.utils.icu import sort_key from calibre.utils.ordered_dict import OrderedDict @@ -150,13 +150,13 @@ def ACQUISITION_ENTRY(item, version, db, updated, CFM, CKEYS, prefix): extra.append(_('RATING: %s
')%rating) tags = item[FM['tags']] if tags: - extra.append(_('TAGS: %s
')%format_tag_string(tags, ',', + extra.append(_('TAGS: %s
')%xml(format_tag_string(tags, ',', ignore_max=True, - no_tag_count=True)) + no_tag_count=True))) series = item[FM['series']] if series: extra.append(_('SERIES: %s [%s]
')%\ - (series, + (xml(series), fmt_sidx(float(item[FM['series_index']])))) for key in CKEYS: mi = db.get_metadata(item[CFM['id']['rec_index']], index_is_id=True) @@ -164,11 +164,11 @@ def ACQUISITION_ENTRY(item, version, db, updated, CFM, CKEYS, prefix): if val: datatype = CFM[key]['datatype'] if datatype == 'text' and CFM[key]['is_multiple']: - extra.append('%s: %s
'%(name, format_tag_string(val, ',', + extra.append('%s: %s
'%(xml(name), xml(format_tag_string(val, ',', ignore_max=True, - no_tag_count=True))) + no_tag_count=True)))) else: - extra.append('%s: %s
'%(name, val)) + extra.append('%s: %s
'%(xml(name), xml(unicode(val)))) comments = item[FM['comments']] if comments: comments = comments_to_html(comments)