From 1a9e1da49aee48b66871394b427fdb937229f567 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sat, 20 Nov 2010 05:05:50 +0000 Subject: [PATCH 01/80] Launchpad automatic translations update. --- src/calibre/translations/ca.po | 873 +++++++++++++++-------------- src/calibre/translations/cs.po | 862 ++++++++++++++-------------- src/calibre/translations/da.po | 873 +++++++++++++++-------------- src/calibre/translations/el.po | 888 +++++++++++++++-------------- src/calibre/translations/en_GB.po | 893 ++++++++++++++++-------------- src/calibre/translations/es.po | 875 +++++++++++++++-------------- src/calibre/translations/eu.po | 871 +++++++++++++++-------------- src/calibre/translations/fr.po | 877 +++++++++++++++-------------- src/calibre/translations/gl.po | 856 ++++++++++++++-------------- src/calibre/translations/it.po | 877 +++++++++++++++-------------- src/calibre/translations/nb.po | 873 +++++++++++++++-------------- src/calibre/translations/nl.po | 877 +++++++++++++++-------------- src/calibre/translations/sr.po | 881 +++++++++++++++-------------- src/calibre/translations/th.po | 845 ++++++++++++++-------------- 14 files changed, 6472 insertions(+), 5749 deletions(-) diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 156c341567..1e259ebf0b 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-14 13:15+0000\n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:32+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-11-15 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -34,7 +34,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -43,8 +43,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -112,10 +112,10 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -124,10 +124,10 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -140,14 +140,14 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -270,45 +270,45 @@ msgstr "Estableix les metadades als fitxers %s" msgid "Set metadata from %s files" msgstr "Estableix les metadades des dels fitxers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Aspecte i comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interfície" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajusta l'aspecte i el comportament de la interfície del calibre adaptar-lo " "al vostre gust" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Canvia el comportament del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Columnes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Configura les columnes de la llista de llibres del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personalitza la barra d'eines" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -316,60 +316,60 @@ msgstr "" "Personalitza les barres d'eines i els menús de context, canviant les accions " "que estaran disponibles" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Opcions d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversió" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Ajusta les opcions de conversió específiques per a cada format d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Opcions comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Ajusta les opcions de conversió comunes a tots els formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Opcions de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "" "Ajusta les opcions de conversió específiques de cada format de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Afegint llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importa/exporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla com el calibre llegeix les metadades dels arxius quan s'afegeixen " "llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Desant els llibres al disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -377,32 +377,32 @@ msgstr "" "Controla com el calibre exporta fitxers de la seva base de dades al disc en " "utilitzar «Desa al disc»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Enviant llibres als dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controla com el calibre envia fitxers al lector de llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Metadades dels quadres de connexions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Canvia els camps de les metadades abans de desar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Compartint llibres via correu electrònic" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Compartint" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -410,11 +410,11 @@ msgstr "" "Configura la compartició de llibres per correu electrònic. Es pot utilitzar " "per enviar notícies descarregades als vostres dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Compartint en xarxa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -422,35 +422,35 @@ msgstr "" "Configura el Servidor de Continguts que dona accés a la biblioteca a través " "d'internet des de qualsevol lloc i dispositiu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Connectors" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avançat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Afegeix/suprimeix/personalitza diverses parts de les funcions del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Ajustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Configura en detall el comportament del calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Miscel·lània" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Configuració avançada" @@ -781,18 +781,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Notícies" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catàleg" @@ -818,6 +818,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Comunica't amb un lector Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Comunica't amb un lector EB600." @@ -2127,15 +2131,6 @@ msgstr "" "es té clar el que s'està fent, ja que pot ocasionar diversos efectes " "desagradables a la resta del procés de conversió." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Longitud de línia mitjana per a la divisió de línies si l'HTML ve d'una " -"conversió parcial prèvia d'un fitxer PDF. El valor per defecte és %default, " -"que ho desactiva." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2534,7 +2529,7 @@ msgstr "Comentaris" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiquetes" @@ -2956,7 +2951,7 @@ msgstr "Text principal" msgid "%s format books are not supported" msgstr "El format de llibre %s no està suportat" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Llibre %s de %s" @@ -2967,7 +2962,7 @@ msgstr "Opcions de generació del HTML TOC." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Valoració" @@ -3334,7 +3329,7 @@ msgstr "" "Especifica la condificació de caracters del document de sortida. Per defecte " "és cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3575,7 +3570,7 @@ msgid "Disable UI animations" msgstr "Desactiva les animacions" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copiat" @@ -3587,7 +3582,7 @@ msgstr "Copia" msgid "Copy to Clipboard" msgstr "Copia al porta-retalls" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Tria fitxers" @@ -3749,7 +3744,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Afegeix llibres a la biblioteca des del dispositiu connectat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Recull les anotacions (experimental)" @@ -3847,7 +3842,7 @@ msgid "Checking database integrity" msgstr "S'està comprovant la integritat de la base de dades" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3875,7 +3870,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d llibres" @@ -4089,9 +4084,9 @@ msgid "Could not copy books: " msgstr "No s'ha pogut copiar els llibres: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Ha fallat" @@ -4153,14 +4148,14 @@ msgid "Main memory" msgstr "Memòria principal" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Tarja de memòria A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Tarja de memòria B" @@ -4305,7 +4300,7 @@ msgid "covers" msgstr "portades" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadades" @@ -4494,7 +4489,7 @@ msgid "Click the show details button to see which ones." msgstr "Feu clic a «Veure detalls» per saber quins són." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Mostra detalls del llibre" @@ -4636,7 +4631,7 @@ msgid "The specified directory could not be processed." msgstr "La carpeta que s'ha indicat no es pot processar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Cap llibre" @@ -4935,7 +4930,7 @@ msgstr "sortida" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4978,7 +4973,7 @@ msgstr "sortida" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Forma" @@ -5065,25 +5060,25 @@ msgstr "Opcions de CSV/XML" msgid "E-book options" msgstr "Opcions dels llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Etiqueta «no incloguis aquest llibre»:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Etiqueta «marca aquest llibre com a llegit»:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Prefix d'etiqueta de nota addicional:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Expressió regular per a descriure les etiquetes que s'exclouran com a " "gèneres:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5097,22 +5092,26 @@ msgstr "" "-Un patró d'expressió amb només un punt exclou totes les etiquetes de gènere " "i es crea la secció 'sense gènere'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Inclou la secció «Títols»" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Inclou la secció «Afegits recentment»" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Ordena els números com a text" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Inclou la secció «Sèrie»" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Platilla de fitxa per al catalog.ui" @@ -5617,7 +5616,7 @@ msgid "Change the title of this book" msgstr "Canvia el tí­tol del llibre" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autor(s): " @@ -5634,7 +5633,7 @@ msgstr "" "Canvia l'autor(s). Per a especificar més d'un, separeu-los amb comes." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Editorial: " @@ -5645,7 +5644,7 @@ msgid "Ta&gs: " msgstr "Etique&tes: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5655,7 +5654,7 @@ msgstr "" "

Pot emprar-se qualsevol paraula o frase, separada per comes." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5663,8 +5662,8 @@ msgstr "&Sèries:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6185,7 +6184,7 @@ msgid "Automatically number books" msgstr "Numera els llibres automàticament" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Força començar la numeració amb " @@ -6201,97 +6200,103 @@ msgstr "etiquetes per afegir" msgid "tags to remove" msgstr "etiquetes per eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No hi ha detalls disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "El dispositiu ja no està connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Aconsegueix informació del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Aconsegueix la llista de llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Aconsegueix anotacions del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Envia les metadades al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Envia les col·leccions al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Carrega %d llibres al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Suprimeix llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Descarrega llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Visualitza un llibre del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Configura l'acció d'enviar al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Envia a la memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Envia a la targeta de memòria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Envia a la targeta de memòria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Envia un format concret a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Envia i suprimeix de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Expulsa el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Error en la comunicació amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "No hi ha formats adequats" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Selecciona la carpeta que s'obrirà com a dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Hi ha hagut un error en comunicar-se amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6299,128 +6304,119 @@ msgstr "" "Hi ha hagut un error de comunicació amb el dispositiu. Traieu-lo i torneu-lo " "a connectar i/o torneu a iniciar." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Dispositiu: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "seleccionat per enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Tria el format que s'enviarà al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "No hi ha cap dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "No s'ha pogut enviar: no hi ha cap dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Sense targeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "No s'ha pogut enviar: el dispositiu no té targeta de memòria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Llibre:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Hi trobareu el llibre adjunt" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "per" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "en el format %s" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "S'està enviant correu electrònic a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "No hi ha formats adequats" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "S'ha de convertir automàticament els llibres següents abans d'enviar-los per " "correu electrònic?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "No s'han pogut enviar els llibres següents perquè no s'han trobat formats " "adequats:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Error en enviar llibres per email" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Error en enviar els següents llibres per email:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "S'ha enviat per correu electrònic:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Notícies:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "S'adjunta el" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "S'ha enviat notícies a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "S'ha de convertir automàticament aquests llibres abans de carregar-los al " "dispositiu?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "S'estan enviant els catàlegs al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "S'estan enviant les notícies al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "S'estan enviant els llibres al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6429,11 +6425,11 @@ msgstr "" "un format adequat. Convertiu primer el(s) llibre(s) a un format compatible " "amb el vostre dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "No hi ha espai al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

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

No es pot desar llibres al dispositiu perquè no hi ha prou espai " @@ -6574,7 +6570,7 @@ msgstr "Camí de la biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nom" @@ -6627,7 +6623,7 @@ msgid "No location selected" msgstr "No s'ha seleccionat cap ubicació" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "La ubicació és incorrecta" @@ -6890,50 +6886,50 @@ msgstr "Cerca/Reemplaça" msgid "Working" msgstr "Està treballant..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minúscules" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Majúscules" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Inicials en majúscula" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Coincidència de caràcter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Expressió regular" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Reemplaça el camp" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Posa-ho abans del camp" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Afegeix-ho al camp" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "S'està editant les metadades de %d llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Llibre %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6945,7 +6941,7 @@ msgstr "" "abans de continuar.

Cerca i reemplaça als camps de text fent coincidir " "caràcters o expressions regulars. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6962,7 +6958,7 @@ msgstr "" "s'ha seleccionat, el text de cerca coincidirà tant amb majúscules com en " "minúscules" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6988,32 +6984,32 @@ msgstr "" "voleu més informació quant a les expressions regulars en python, " "especialment quant a la funció «sub»." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Heu d'especificar una destinació quant la font és un camp compost" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Cerca/reemplaça no vàlid" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "Autors no pot deixar-se en blanc. No s'ha processat el llibre amb el títol %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" "Títol no pot deixar-se en blanc. No s'ha processat el llibre amb el títol %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "El patró de cerca no és vàlid: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7021,19 +7017,19 @@ msgstr "" "S'està aplicant els canvis a %d llibres.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Edita les metadades" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Estableix a&utomàticament l'ordre per autor" -#: /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:338 msgid "Author s&ort: " msgstr "&Ordena per autor " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7041,64 +7037,64 @@ msgstr "" "Especifiqueu com s'ha d'ordenar l'autor(s) d'aquest llibre. Per exemple, " "ordena «Vicent A. Estellés» com a «Estellés, Vicent A»." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Valoració:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Valoració d'aquest llibre: 0-5 estrelles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Sense canvis" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " estrelles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Afegeix les eti&quetes " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Obre l'editor d'etiquetes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "Sup&rimeix les etiquetes" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Llista d'etiquetes separada per comes que s'eliminaran dels llibres. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Marqueu aquest quadre per eliminar totes les etiquetes dels llibres." -#: /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 msgid "Remove all" msgstr "Elimina-ho tot" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Si està activat l'eliminaran les sèries" -#: /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:358 msgid "Clear series" msgstr "Elimina les sèries" -#: /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:359 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" @@ -7111,11 +7107,11 @@ msgstr "" "després\n" "el llibre B, el llibre A tindrà el nombre 1 de la sèrie i el B el nombre 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Numera automàticament els llibres d'aquesta sèrie" -#: /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:364 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" @@ -7127,15 +7123,15 @@ msgstr "" "que\n" "comenci la numeració a partir del valor de ca casella" -#: /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:368 msgid "Remove &format:" msgstr "Suprimeix el &format:" -#: /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:369 msgid "&Swap title and author" msgstr "&Intercanvia títol i autor" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7145,11 +7141,11 @@ msgstr "" "l'intercanvi\n" "d'autor i títol, primer es fa l'intercanvi i després es canvia el títol" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Posa el títol amb les inicials en majúscula" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7160,34 +7156,34 @@ msgstr "" "La conversió d'aquests llibres es farà en endavant amb els paràmetres per " "defecte." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "" "Suprimeix els paràmetres de conversió de&sats per als llibres seleccionats" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Metadades &bàsiques" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Personalitza les metadades" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Cerca al &camp:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Nom del camp on voleu fer la cerca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Mode de cerca:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7195,11 +7191,11 @@ msgstr "" "Trieu si s'ha de fer servir la coincidència bàsica de text o expressions " "regulars avançades" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Cerca per:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7207,7 +7203,7 @@ msgstr "" "Introduïu el que esteu cercant, tant si és text simple o una expressió " "regular, depenent el mode escollit" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7215,15 +7211,15 @@ msgstr "" "Marqueu aquesta casella si la cadena de cerca ha de coincidir exactament en " "majúscules i minúscules. Desmarqueu-la per ignorar-les." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Sensible a caixa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Substitueix amb:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7231,11 +7227,11 @@ msgstr "" "El text de substitució. Els textos que coincideixin es substituiran amb " "aquesta cadena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Aplica la funció després de la substitució:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7247,11 +7243,11 @@ msgstr "" "tot el camp. Al mode d'expressions regulars només es processa el text que " "coincideixi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "Camp de &destí:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7259,15 +7255,15 @@ msgstr "" "El camp on es posarà el text després de totes les substitucions. Se està en " "blanc es fa servir el camp original." -#: /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:394 msgid "Mode:" msgstr "Mode:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Especifica com s'ha de copiar el text al destí." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7277,23 +7273,23 @@ msgstr "" "casella indica si s'ha de\n" "posar una coma o no res entre el text original i el que s'insereixi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "fes servir una coma" -#: /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:399 msgid "Test &text" msgstr "&Text de prova" -#: /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:400 msgid "Test re&sult" msgstr "Res&sultat de la prova" -#: /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:401 msgid "Your test:" msgstr "La vostra prova:" -#: /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:402 msgid "&Search and replace" msgstr "&Cerca i reemplaça" @@ -7581,20 +7577,21 @@ msgstr "Es necessita una contrasenya." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Nom d'&usuari:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Contrasenya:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "Mo&stra la contrasenya" @@ -8605,7 +8602,7 @@ msgid "Show books in the main memory of the device" msgstr "Mostra els llibres de la memòria principal del dispositiu" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Targeta A" @@ -8614,7 +8611,7 @@ msgid "Show books in storage card A" msgstr "Mostra els llibres de la targeta de memòria A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Targeta B" @@ -8817,12 +8814,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra d'eines del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Pàgina següent" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Pàgina anterior" @@ -8866,7 +8863,7 @@ msgid "Do not check for updates" msgstr "No comprovis si hi ha actualitzacions" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Biblioteca del calibre" @@ -9009,37 +9006,37 @@ msgstr "El llibre no té títol ni ISBN" msgid "No matches found for this book" msgstr "No s'ha trobat cap coincidència d'aquest llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "No s'ha pogut descarregar les metadades" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "portada" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Descarregat" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "No s'ha pogut aconseguir" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s per a: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Acabat" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "S'ha descarregat amb èxit les metadades de %d de %d llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Detalls" @@ -9993,7 +9990,7 @@ msgstr "" "Preferències->Avançat->Connectors" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "No s'ha pogut iniciar el servidor de continguts" @@ -10212,7 +10209,7 @@ msgstr "&Ajustos actuals" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Cerca" @@ -10360,7 +10357,7 @@ msgstr "" "N'esteu segur?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Cerques" @@ -10454,15 +10451,15 @@ msgstr "" "Els llibres següents ja s'han convertit al format %s. Els voleu tornar a " "convertir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Restaura" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "Feu una &donació per donar suport al calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Expulseu el dispositiu connectat" @@ -10470,12 +10467,12 @@ msgstr "&Expulseu el dispositiu connectat" msgid "Calibre Quick Start Guide" msgstr "Guia d'inici ràpid del calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Error de conversió" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10483,15 +10480,15 @@ msgstr "" "

No s'ha pogut convertir: %s

És un llibre amb DRM. " "Suprimiu primer el DRM amb eines de tercers." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Recepta inhabilitada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10501,11 +10498,11 @@ msgstr "" "útil, considereu fer una donació per donar suport al seu desenvolupament. La " "vostra donació ajudarà que el desenvolupament del calibre continuï." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hi ha tasques actives. Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10515,11 +10512,11 @@ msgstr "" " Si sortiu podeu malmetre el dispositiu.
\n" " Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "AVÍS: Hi ha tasques actives" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10764,36 +10761,36 @@ msgstr "Mida de la font Monoespai en px" msgid "The standard font type" msgstr "Tipus de lletra estàndard" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Cerca al diccionari" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Vés a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Propera secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Secció prèvia" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Inici del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Final del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Inici de la secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Final de la secció" @@ -11064,7 +11061,7 @@ msgstr "Amaga" msgid "Toggle" msgstr "Commuta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11074,7 +11071,7 @@ msgstr "" "mòbil, podeu accedir la vostra col·lecció de llibres directament. Per fer-ho " "heu d'engegar el servidor de continguts." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11082,7 +11079,7 @@ msgstr "" "No oblideu deixar el calibre executant-se, ja que el servidor només funciona " "si el calibre està actiu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11092,20 +11089,20 @@ msgstr "" "WordPlayer. «elmeuservidor» és el nom complert del servidor o l'adreça IP de " "l'ordinador on s'executa el calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "S'està movent la biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "No s'ha pogut moure la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Base de dades no vàlida" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11113,22 +11110,22 @@ msgstr "" "

Ja hi ha una biblioteca no vàlida a %s, suprimiu-la abans d'intentar " "moure la biblioteca actual.
Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "No s'ha pogut moure la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Seleccioneu una ubicació per als llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Heu de triar una carpeta buida per a la biblioteca del calibre. %s no està " "buida." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "Assistent de benvinguda" @@ -11236,49 +11233,72 @@ msgstr "" "hi ha una biblioteca del calibre a la nova ubicació el calibre passarà a fer-" "la." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "S'està fent servir: %s:%s@%s:%s i xifratge %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "S'està enviant..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "S'ha enviat el correu amb èxit" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Acaba la configuració del gmail" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"No us oblideu d'introduir el vostre nom d'usuari i contrasenya del gmail. " -"Podeu configurar un compte gratuït de gmail a http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Mala configuració" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Heu d'establir l'adreça de correu electrònic remitent" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Heu d'especificar el nom d'usuari i la contrasenya per al servidor de correu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "&Envia el correu electrònic des de:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

És el que hi haurà al camp «De:» dels correus electrònics que enviï el " "calibre.
Poseu-hi la vostra adreça de correu electrònic." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11294,52 +11314,52 @@ msgstr "" "

Un servidor de correu és útil si el servei que envieu el correu només " "accepta correus electrònics de serveis de correu coneguts." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Servidor de correu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "el calibre pot fer servir un servidor per enviar correu de forma " "opcional

" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "Nom de l'&amfitrió:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "El non del vostre servidor de correu. Per exemple smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "Port que el vostre servidor de correu fa servir per rebre connexions. Per " "defecte és el 25." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "El vostre usuari al servidor de correu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "La vostra contrasenya al servidor de correu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Mostra" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Xifratge:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11347,23 +11367,27 @@ msgstr "" "Fes servir xifratge TLS en connectar al servidor de correu. És el més " "habitual." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Fes servir xifratge SSL en connectar al servidor de correu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Fes servir el Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "Prova el correu elec&trònic" @@ -11430,7 +11454,7 @@ msgstr "en blanc" msgid "empty" msgstr "buit" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11444,7 +11468,7 @@ msgstr "" "Per defecte: «%%default»\n" "S'aplica als formats de sortida CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11456,7 +11480,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11470,7 +11494,7 @@ msgstr "" "Per defecte: «%%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11482,7 +11506,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11494,7 +11518,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11508,7 +11532,7 @@ msgstr "" "Per defecte: «%%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11520,7 +11544,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11532,7 +11556,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11544,7 +11568,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11554,7 +11578,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11568,7 +11592,7 @@ msgstr "" "Per defecte: «%default» No res\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11579,7 +11603,7 @@ msgstr "" "[etiqueta]\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11594,7 +11618,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11604,7 +11628,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11614,7 +11638,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11624,7 +11648,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11635,7 +11659,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11649,7 +11673,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11664,7 +11688,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11674,6 +11698,13 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Títols no vàlids" @@ -12396,36 +12427,36 @@ msgstr "" "L'etiqueta només pot contenir lletres minúscules, nombres i guions baixos, i " "ha de començar amb una lletra" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sLa valoració mitjana és %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Inici" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

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

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "S'està copiant %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "S'està compactant la base de dades" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "S'està comprovant la integritat SQL" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "S'està comprovant si hi fitxers perduts." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "S'ha comprovat l'ID" @@ -12653,129 +12684,129 @@ msgstr "" "Prefix per posar abans de totes les URL. Útil per fer servir un servidor " "intermediari de retorn a aquest servidor des d'Apache, nginx..." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" -"Contrasenya per accedir la llibreria del calibre. El nom d'usuari és " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "S'està carregant" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Primer" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Darrer" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Anterior" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Següent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "S'està explorant %d llibres" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Valoració mitjana" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f estrelles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d estrelles" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularitat" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Ordena per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "inici" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Més recent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Tots els llibres" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Explora llibres per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Trieu una categoria per la qual cercar:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "S'està cercant per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Cap amunt" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "a" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "llibres a" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Altres formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Llegeix %s en el format %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Aconsegueix" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Enllaç permanent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Un enllaç permanent a aquest llibre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "S'ha suprimit el llibre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "en una cerca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Llibres coincidents" @@ -13110,7 +13141,7 @@ msgstr "No s'ha pogut establir la sessió SSH: " msgid "Failed to authenticate with server: %s" msgstr "Ha fallat l'autentificació amb el servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Control l'enviament del correu electrònic" @@ -13891,6 +13922,16 @@ msgstr "No descarreguis els fulls d'estil CSS" #~ "Coincideix: la paraula o frase ha de coincidir amb el camp de metadades " #~ "sencer" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "No us oblideu d'introduir el vostre nom d'usuari i contrasenya del gmail. " +#~ "Podeu configurar un compte gratuït de gmail a http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Acaba la configuració del gmail" + #~ msgid "" #~ "Book formats and metadata from the selected books will be merged into the " #~ "first selected book. ISBN will not be merged.

After " @@ -13917,6 +13958,10 @@ msgstr "No descarreguis els fulls d'estil CSS" #~ "segon llibre i els seleccionats a continuació no s'esborraran ni canviaran " #~ "

Confirmeu que voleu continuar." +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "" +#~ "Contrasenya per accedir la llibreria del calibre. El nom d'usuari és " + #~ msgid "" #~ "[options]\n" #~ "\n" @@ -13929,5 +13974,13 @@ msgstr "No descarreguis els fulls d'estil CSS" #~ msgid "Send specific format" #~ msgstr "Envia un format específic" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Longitud de línia mitjana per a la divisió de línies si l'HTML ve d'una " +#~ "conversió parcial prèvia d'un fitxer PDF. El valor per defecte és %default, " +#~ "que ho desactiva." + #~ msgid "Click to open Book Details window" #~ msgstr "Feu clic per obrir el quadre de «Detalls del llibre»" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 7c810a50c3..e02ea4f7b0 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-18 20:58+0000\n" -"Last-Translator: Marek Sušický \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:02+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-19 04:47+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,98 +267,98 @@ msgstr "Nastavuje metadata do souborů %s" msgid "Set metadata from %s files" msgstr "Nastavuje metadata ze souborů %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Vzhled" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Rozhraní" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Přizpůsobení vzhledu uživatelského rozhraní calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Chování" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Mění způsob chování calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Přidejte své vlastní sloupce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Přidejte/odeberte své vlastní sloupce z calibre seznamu knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Upravit lištu nástrojů" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Přizpůsobení panelu nástrojů a kontextových menu." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Volby vstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Převod" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Nastavení převodu specifické pro jednotlivé formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Obecné nastavení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Nastavení výstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Nastavení převodu specifické pro jednotlivé formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "Nastavuje jak calibre čte metadata ze souborů při přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Ukládání knih na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -366,32 +366,32 @@ msgstr "" "Nastavuje jak calibre exportuje soubory z jeho databáze na disk při použití " "Ulož na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Posílání knih do zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Nastavuje jak calibre přesouvá soubory do vaší čtečky" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Změň metadata před uložením/odesláním" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Sdílení knih pomocí emailu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Sdílení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -399,11 +399,11 @@ msgstr "" "Natavení sdílení knih pomocí emailu. Může být použito pro automatické " "odesílání stažených zpráv do vašeho zařízení." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Sdílení po síti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -411,33 +411,33 @@ msgstr "" "Natavení calibre Obsahového Serveru, který vám umožní přistupovat k vaší " "knihovně calibre odkudkoliv, na jakémkoli zařízení, přes internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Rozšířené" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Přidat/odebrat/nastavit různé funkce calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Vylepšení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Doladit chování calibre v různých situacích" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Různé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Pokročilá konfigurace" @@ -756,18 +756,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Zprávy" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Katalog" @@ -793,6 +793,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Komunikuje se čtečkou Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Komunikace s zařízením EB600." @@ -2001,12 +2005,6 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2393,7 +2391,7 @@ msgstr "Komentáře" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Tagy" @@ -2789,7 +2787,7 @@ msgstr "Hlavní text" msgid "%s format books are not supported" msgstr "Knihy ve formátu %s nejsou podporovány." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Kniha %s z %s" @@ -2800,7 +2798,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Hodnocení" @@ -3093,7 +3091,7 @@ msgid "" msgstr "" "Určete kódování znaků výstupního dokumentu. Výchozí hodnota je CP1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3305,7 +3303,7 @@ msgid "Disable UI animations" msgstr "Zakázat UI animace" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Kopírováno" @@ -3317,7 +3315,7 @@ msgstr "Kopírovat" msgid "Copy to Clipboard" msgstr "&Kopírovat do schránky" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Zvol soubory" @@ -3480,7 +3478,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Přidat knihy do Vaší calibre knihovny z připojeného zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "" @@ -3575,7 +3573,7 @@ msgid "Checking database integrity" msgstr "Kontrola integrity databáze" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3599,7 +3597,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d knih(y)" @@ -3805,9 +3803,9 @@ msgid "Could not copy books: " msgstr "Nelze kopírovat knihy: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Neúspěšný" @@ -3869,14 +3867,14 @@ msgid "Main memory" msgstr "Hlavní paměť" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Paměťová karta A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Paměťová karta B" @@ -4021,7 +4019,7 @@ msgid "covers" msgstr "obálky" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadata" @@ -4197,7 +4195,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikněte na tlačítko zobrazit detaily pro zjištění které z nich." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Zobrazit podrobnosti o knize" @@ -4335,7 +4333,7 @@ msgid "The specified directory could not be processed." msgstr "Zadaný adresář nebylo možné zpracovat." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Žádné knihy" @@ -4620,7 +4618,7 @@ msgstr "výstup" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4663,7 +4661,7 @@ msgstr "výstup" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulář" @@ -4743,23 +4741,23 @@ msgstr "CSV/XML volby" msgid "E-book options" msgstr "E-book volby" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Tag 'Nezahrnovat tuto knihu':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -4768,22 +4766,26 @@ msgid "" "Genre Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Zahrň sekci Nedávno přidané" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Řadit čísla jako text" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Zahrň sekci Série" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "" @@ -5264,7 +5266,7 @@ msgid "Change the title of this book" msgstr "Změnit název táto knihy" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autor(ři) " @@ -5280,7 +5282,7 @@ msgid "" msgstr "Autor(ři) této knihy. Vícero autorů by mělo být odděleno čárkami" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Vydavatel: " @@ -5291,7 +5293,7 @@ msgid "Ta&gs: " msgstr "Ta&gy: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5301,7 +5303,7 @@ msgstr "" "

Můžou to být libovolné slova nebo fráze, oddělené čárkami." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5309,8 +5311,8 @@ msgstr "&Série:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -5814,7 +5816,7 @@ msgid "Automatically number books" msgstr "Automaticky číslovat knihy" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Číslování začíná " @@ -5830,97 +5832,103 @@ msgstr "tagy k přidání" msgid "tags to remove" msgstr "tagy k odstranění" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nejsou dostupné žádné detaily." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Zařízení už není připojené" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Získat informace o zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Získat seznam knih v zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Získat anotace ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Odeslat metadata do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Odestat kolekci do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Odeslat %d knih do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Smazat knihy ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Převzít knihy ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Zobrazit knihu v zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Nastavit výchozí nastavení pro odeslání do čtečky" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Odeslat do hlavní paměti" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Odeslat na pamětovou kartu A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Odeslat na pamětovou kartu B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Hlavní paměť" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Poslat specifický formát" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Odeslat a smazat z knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Odpojit zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Cyba komunikace se zařízením" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Žádné vhodné formáty" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Označit složku a otevřít jako zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Chyba komunikace se zařízením" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5928,134 +5936,125 @@ msgstr "" "Dočasná chyba komunikace se zařízením. Prosím odpojte a znovu připojte " "zařízení anebo restarujte počítač." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Zařízení: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " nalezeno." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "vybrané k odeslání" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Vyberte formát k odeslání do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Nemohu odeslat: Není připojeno žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Žádná karta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Nemohu odeslat: Zařízení nemá pamětovou kartu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-book:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "od" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "v %s formátu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Odeslat email" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Žádné vhodné formáty" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "Automaticky konvertovat knihy před emailovým odesláním?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Nemohu emailovat následující knihy, nebyl nalezen žádný vhodný formát:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Selhalo odeslání knih emailem" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Poslání následujících knih selhalo:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Odesláno emailem:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Zprávy:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Přiloženo je" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Odeslat zprávy do" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Automaticky zkonvertovat následující knihy, než se nahrají do zařízení?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Odeslat katalog do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Odesílám zprávy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Odesílám knihy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Na zařízení není volné místo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6188,7 +6187,7 @@ msgstr "Cesta z knihovny" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Jméno" @@ -6241,7 +6240,7 @@ msgid "No location selected" msgstr "Nevybráno žádné umístění" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Špatné umístění" @@ -6491,50 +6490,50 @@ msgstr "Hledat?Nahradit" msgid "Working" msgstr "Pracuje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Malá písmena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Velká písmena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /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:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Regulární výraz" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Nahradit pole" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Edituj metadata pro %d knih" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Kniha %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6542,7 +6541,7 @@ msgid "" "character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6552,7 +6551,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6567,110 +6566,110 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Neplatné vyhledání/nahrazení" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "Jméno autora nemůže být prázdné. Kniha %s nezpracována" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Název nemůže být prázdný. Kniha %s nezpracována" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Vzor pro hledání není platný: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Edituj metainformace" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" 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:338 msgid "Author s&ort: " 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:339 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:339 +#: /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 msgid "&Rating:" msgstr "&Hodnocení:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Hodnocení této knihy. 0-5 hvězdiček" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Žádná změna" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " hvězdy" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Přidat tagy: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Otevřít Editor značek" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "Odst&ranit tagy:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " 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:352 msgid "Check this box to remove all tags from the books." msgstr "Zaškrtněte, pokud chcete odstranit všechny tagy z knih." -#: /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 msgid "Remove all" msgstr "Odstranit vše" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" 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:358 msgid "Clear series" 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:359 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" @@ -6678,110 +6677,110 @@ 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:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" 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:364 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:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "Remove &format:" msgstr "Odstranit &formát:" -#: /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:369 msgid "&Swap title and author" 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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" 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:373 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:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" 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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Základní metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "Uživatelská metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Vyhledávací &pole:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Název pole, které chcete vyhledat" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Vyhledávací mód:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Hledat:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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:384 +#: /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:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Rozlišovat velikost písmen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /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:387 +#: /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" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -6789,48 +6788,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" msgstr "Mód:" -#: /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:395 msgid "Specify how the text should be copied into the destination." 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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" 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:399 msgid "Test &text" msgstr "Testovací &text" -#: /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:400 msgid "Test re&sult" msgstr "Výsledky testu" -#: /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:401 msgid "Your test:" msgstr "Váš test:" -#: /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:402 msgid "&Search and replace" msgstr "Najít a nahradit" @@ -7107,20 +7106,21 @@ msgstr "Vyžadováno heslo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Uživatelské jméno:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Heslo:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "Zobrazit he&slo" @@ -8072,7 +8072,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:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Karta A" @@ -8081,7 +8081,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:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "" @@ -8279,12 +8279,12 @@ msgid "LRF Viewer toolbar" msgstr "Nástrojová išta prohlížeče LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Následující strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Předcházející strana" @@ -8328,7 +8328,7 @@ msgid "Do not check for updates" msgstr "Nezjišťuj nové verze" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre knihovna" @@ -8457,37 +8457,37 @@ msgstr "Kniha nemá ani název ani ISBN" msgid "No matches found for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9333,7 +9333,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Nepodařilo se spustit obdahový server" @@ -9536,7 +9536,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Hledat" @@ -9678,7 +9678,7 @@ msgid "" msgstr "Změna metadat pro tak mnoho knih bude trvat dlouho. Jste si jisti?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Hledání" @@ -9769,15 +9769,15 @@ msgstr "" "Následující knihy již byly převedeny do %s formátu. Přejete si je " "překonvertovat?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Obnovit" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Přispějte na vývoj calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Vysunout připojené zařízení" @@ -9785,12 +9785,12 @@ msgstr "&Vysunout připojené zařízení" 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:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Chyba převodu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -9798,37 +9798,37 @@ msgstr "" "

Nelze převést: %s

Kniha je chráněna pomocí DRM. " "Před převodem nejprve musíte odstranit DRM pomocí nástroje třetí strany." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Zdroj zakázán" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Selhalo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Prpbíha zpracování úloh. Opravdu chcete program ukončit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 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:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "UPOZORNĚNÍ: Probíhá zpracování úloh." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10064,36 +10064,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "Podívat do slovníku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Přejít na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Další sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Předchozí sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Začátek dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Konec dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Začátek sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Konec sekce" @@ -10354,60 +10354,60 @@ msgstr "Skrýt" msgid "Toggle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Nezapomeňte nechat calibre běžet. Server běží pouze pokud běží calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Přesouvám knihovnu..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Přesun knihovny selhal" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Neplatná databáze" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Nemohu přesunout knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Označ lokace pro knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "Musíte zvolit prázdnou složku pro calibre knihovnu. %s není prázdná." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "uvítací průvodce" @@ -10500,124 +10500,151 @@ msgid "" "will switch to using it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Používá: %s:%s@%s:%s a %s šifrování" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Odesílám..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "E-mail úspěšně odeslán" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Dokončit nastavení gmailu" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Nezapomeňte vložit Vaše Gmail jméno a heslo. Můžete si zdarma zřídit účet na " -"http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Špatná konfigurace" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "Musíte nastavit jméno a heslo pro emailový server." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Odeslat email z:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "E-Mailový &Server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "calibre může volitelně použít server k odeslání emailu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Hostname:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Hostname Vašeho mailového serveru. Např. smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "Port Vašeho mailového serveru pro připojení. Běžný je 25." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Vaše jméno na e-mailovém serveru" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Vaše heslo na e-mailovém serveru" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Ukázat" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "Ši&frování" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" "Použít TLS šifrování k připojení k emailovému serveru. Toto je běžná volba." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Použít SSL šifrování pro připojení k mailovému serveru." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Použij Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Otestovat email" @@ -10680,7 +10707,7 @@ msgstr "prázdný" msgid "empty" msgstr "prázdný" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10689,7 +10716,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10697,7 +10724,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10706,7 +10733,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10714,7 +10741,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -10722,7 +10749,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -10731,7 +10758,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -10739,7 +10766,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -10747,7 +10774,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -10755,14 +10782,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -10771,14 +10798,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -10787,35 +10814,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -10824,7 +10851,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -10834,13 +10861,20 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -11387,35 +11421,35 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Hlavní" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 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:2334 msgid "Copying %s" msgstr "Kopírování %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Kontrola integrity SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Kontrola chybějících souborů." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "" @@ -11610,128 +11644,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "Heslo pro přístup do calibre knihovny. Uživatelské jméno je " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Načítání, prosím čekejte" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "První" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Poslední" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Předchozí" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Další" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Průměrné hodnocení" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Oblíbenost" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Řadit podle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "knihovna" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "domů" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Nejnovější" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Všechny knihy" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Procházet knihy podle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Procházení podle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Nahoru" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Knihy v" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Ostatní formáty" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Trvalý odkaz k této knize" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Tato kniha byla smazána" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Odpovídající knihy" @@ -12050,7 +12085,7 @@ msgstr "Nepodařilo se navázat SSH spojení: " msgid "Failed to authenticate with server: %s" msgstr "Nepodařilo se ověřit se serverem: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "" @@ -13661,3 +13696,16 @@ msgstr "Nestahovat kaskádové styly." #~ msgid "Click to open Book Details window" #~ msgstr "Klikněte pro otevření detailů knihy" + +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Heslo pro přístup do calibre knihovny. Uživatelské jméno je " + +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Nezapomeňte vložit Vaše Gmail jméno a heslo. Můžete si zdarma zřídit účet na " +#~ "http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Dokončit nastavení gmailu" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index 03f7ea5495..a6f85c7871 100644 --- a/src/calibre/translations/da.po +++ b/src/calibre/translations/da.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-13 06:55+0000\n" -"Last-Translator: Glenn \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 22:28+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-11-14 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Gør absolut ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,43 +267,43 @@ msgstr "Gemmer metadata i %s filerne" msgid "Set metadata from %s files" msgstr "Sæt metadata fra %s filer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Fremtoning" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Brugergrænseflade" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Tilpas calibres grænseflades fremtoning til din smag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Opførsel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Ændr måden calibre opfører sig på" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Tilføj dine egne søjler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Tilføj/fjern dine egne søjler til calibre boglisten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Tilpas værktøjslinjen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -311,56 +311,56 @@ msgstr "" "Tilpas værktøjslinjen og kontekstmenuen, ændre hvilke aktioner som er " "tilgængelige i hver" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Input tilvalg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Konvertering" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Vælg konverteringsvalgmuligheder specifikke for hvert input-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Fælles tilvalg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Vælg konverteringsvalgmuligheder fælles for alle formater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Output valgmuligheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Vælg konverteringsvalgmuligheder specifikke for hvert output-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Tilføjer boger" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Import/eksport" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "Styre hvordan calibre læser metadata fra filer, når bøger tilføjes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Gemmer bøger til disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -368,32 +368,32 @@ msgstr "" "Styre hvordan calibre eksporterer filer fra dens database til disk, når gem-" "til-disk anvendes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Sender bøger til enheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Styre hvordan calibre overfører filer til din e-bogslæser" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Metadata plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Ændre metadata felter før gem/send" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Deler bøger via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Deler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -401,11 +401,11 @@ msgstr "" "Opsætning som deler bøger via email. Kan anvendes til automatisk sending af " "downloadede nyheder til dine enheder" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Deler over internettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -413,33 +413,33 @@ msgstr "" "Opsætning af calibre indholdsserveren, hvilket vil give dig adgang til dit " "calibre-bibliotek fra overalt, på enhver enhed, over internettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Udvidelsesmoduler" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avanceret" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Tilføj/fjern/tilpas forskellige dele af calibres funktionalitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Finjustér hvordan calibre opfører sig i forskellige sammenhænge" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Diverse avanceret opsætning" @@ -769,18 +769,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Nyheder" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Katalog" @@ -806,6 +806,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Kommunikér med Cybook Gen 3 / Opus eBook reader" +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Kommunikér med EB600 e-bogslæseren." @@ -2087,15 +2091,6 @@ msgstr "" "gør, da valget kan have flere fæle sideeffekter i resten af " "konverteringstrinene." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Ønsket middel linjelængde for HTML-linjeombrydning hvis HTML er fra en " -"tidligere delkonvertering af en PDF-fil. Standardværdien er %default hvilket " -"deaktiverer dette." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "CSS-fil anvendtes til output istedet for standardfilen" @@ -2493,7 +2488,7 @@ msgstr "Kommentarer" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Mærker" @@ -2914,7 +2909,7 @@ msgstr "Hovedtekst" msgid "%s format books are not supported" msgstr "Bøger af %s formatet er ikke understøttet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Bog %s af %s" @@ -2925,7 +2920,7 @@ msgstr "HTML indholdsfortegnelse genereringsmuligheder." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Vurdering" @@ -3281,7 +3276,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "Angiv output-dokumentets tegnsæt. Standard er cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3514,7 +3509,7 @@ msgid "Disable UI animations" msgstr "Deaktivér brugergrænseflade animationer" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Kopieret" @@ -3526,7 +3521,7 @@ msgstr "Kopiér" msgid "Copy to Clipboard" msgstr "Kopiér til udklipsholder" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Vælg filer" @@ -3688,7 +3683,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Tilføj bøger til calibre-biblioteket fra den forbundne enhed" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Hent noter (eksperimentiel)" @@ -3785,7 +3780,7 @@ msgid "Checking database integrity" msgstr "Checker database integritet" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3812,7 +3807,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d bøger" @@ -4025,9 +4020,9 @@ msgid "Could not copy books: " msgstr "Kunne ikke kopiere bøger: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Fejlede" @@ -4088,14 +4083,14 @@ msgid "Main memory" msgstr "Arbejdshukommelse" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Hukommelsekort A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Hukommelsekort B" @@ -4240,7 +4235,7 @@ msgid "covers" msgstr "omslag" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadata" @@ -4429,7 +4424,7 @@ msgid "Click the show details button to see which ones." msgstr "Klik vis-detalje knappen for at se hvilke." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Vis bogdetaljer" @@ -4570,7 +4565,7 @@ msgid "The specified directory could not be processed." msgstr "Den angivne mappe kunne ikke behandles." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Ingen bøger" @@ -4867,7 +4862,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4910,7 +4905,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formular" @@ -4997,24 +4992,24 @@ msgstr "CSV/XML valgmuligheder" msgid "E-book options" msgstr "E-bogsmuligheder" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "'Inkludér ikke denne bog' mærke:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "'Mærk denne bog som læst' mærke:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Yderligere note mærke præfiks:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Regulært udtryks mønster som beskriver mærker som eksluderes som genrer:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5028,22 +5023,26 @@ msgstr "" "- Et regex mønster udgjort af et enkelt punktum, ekskluderer alle genre " "tags, genererer ingen Genre sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Inkludér 'titler' sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Inkludér 'tilføjet for nylig' sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sortér numre som tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Inkludér 'serie' sektion" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Tab skabelon til katalog.ui" @@ -5547,7 +5546,7 @@ msgid "Change the title of this book" msgstr "Udskift bogens titel" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Forfatter(e): " @@ -5564,7 +5563,7 @@ msgstr "" "Udskift bogens forfatter(e). Flere forfattere skal adskilles med et komma" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "F&orlag: " @@ -5575,7 +5574,7 @@ msgid "Ta&gs: " msgstr "&Mærker: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5586,7 +5585,7 @@ msgstr "" "kommaer." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5594,8 +5593,8 @@ msgstr "&Serier:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6114,7 +6113,7 @@ msgid "Automatically number books" msgstr "Numrér automatisk bøger" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Start nummerering fra " @@ -6130,97 +6129,103 @@ msgstr "Mærker at tilføje" msgid "tags to remove" msgstr "Mærker at fjerne" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Ingen detaljer tilgængelig." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Enhed er ikke længere forbundet." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Hent enhedsinformation" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Hent liste af bøger fra enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Hent noter fra enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Send metadata til enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Send collections til enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Upload %d bøger til enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Slet bøger fra enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Download bøger fra enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Se bøger på enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Angiv standard send til enhedsaktion" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Send til arbejdshukommelse" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Send til hukommelseskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Send til hukommelseskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Arbejdshukommelse" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Send angivet format til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Send og slet fra bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Skub enhed ud" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Kommunikationsfejl med enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Ingen egnede formater" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Vælg mappe til at åbne som enhed" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Fejl ved kommunikation med enhed" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6228,123 +6233,114 @@ msgstr "" "Der var en midlertidig fejl ved kommunikation med enheden. Afbryd og " "genforbind enheden eller genstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Enhed: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detekteret." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "valgt til at sende" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Vælg format til at sende til enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Ingen enhed" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Kan ikke sende: Ingen enhed er forbundet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Intet hukommelseskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Kan ikke sende: Enheden har intet hukommelseskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-bog:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Tilknyttet, vil du finde e-bogen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "af" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "i %s formatet." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Sender e-mail til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Ingen egnede formater" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "Auto konvertér følgende bøger før sending via e-mail?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Kunne ikke e-maile følgende bøger da ingen egnede formater blev fundet:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Fejlede med at e-maile bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Fejlede med at e-maile følgende bøger:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Sendt via e-mail:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Nyheder:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Forbundet er" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Send nyheder til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto konvertér følgende bøger før upload til enheden?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Sender kataloger til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Sender nyheder til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Sender bøger til enheden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6352,11 +6348,11 @@ msgstr "" "Kunne ikke uploade følgende bøger til enheden, da ingen egnede formater blev " "fundet. Konvertér bog/bøgerne til et format understøttet af din enhed først." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Ingen plads på enheden" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6495,7 +6491,7 @@ msgstr "Sti fra bibliotek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Navn" @@ -6548,7 +6544,7 @@ msgid "No location selected" msgstr "Ingen placering valgt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Ikke brugbar placering" @@ -6808,50 +6804,50 @@ msgstr "Søg/Erstat" msgid "Working" msgstr "Arbejder" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Små bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Store bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Titel STORE/små bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Tegn match" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Regulært udtryk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Erstat felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Tilføj til feltindholdets start" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Tilføj til felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Redigér metaoplysninger for %d bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Bog %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6863,7 +6859,7 @@ msgstr "" "kraftigt at tage en sikkerhedskopi af dit bibliotek før fortsættelse.

Søg " "og erstat i tekstfelter ved at anvende tegn-matching eller regulære udtryk. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6879,7 +6875,7 @@ msgstr "" "boksen hakkes af, skal søgeteksten matche. Hvis boksen ikke hakkes af, vil " "der ikke blive skelnet mellem store og små bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6905,31 +6901,31 @@ msgstr "" "denne reference for mere information om python's regulære udtryk, og " "især 'sub'-funktionen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Du skal angive en destination, når kilden er et sammensat felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Søg/erstat ugyldig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "Forfattere kan ikke være den tomme streng. Bogtitel %s behandles ikke" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Titler kan ikke være den tomme streng. Bogtitel %s behandles ikke" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Søge mønsteret er ugyldigt: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -6937,19 +6933,19 @@ msgstr "" "Udfører ændringer på %d bøger.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Rediger metaoplysninger" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "A&utomatisk forfattersortering" -#: /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:338 msgid "Author s&ort: " msgstr "Forfatters&ortering: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6957,63 +6953,63 @@ msgstr "" "Angiv hvordan bogens forfatter(e) skal sorteres. Som eksempel burde Charles " "Dickens sorteres som Dickens, Charles." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Vurdering:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Vurdering af bogen. 0-5 stjerner" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Ingen ændring" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " stjerner" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Tilføj &mærker: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Åben mærke-editor" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Fjern mærker:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Kommasepareret liste over mærker, der skal fjernes fra bøgerne. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Afkryds denne boks for at fjerne alle mærker fra bøgerne." -#: /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 msgid "Remove all" msgstr "Fjern alt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Hvis hakket af, vil serier blive fjernet" -#: /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:358 msgid "Clear series" msgstr "Fjern serier" -#: /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:359 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" @@ -7026,11 +7022,11 @@ msgstr "" "du valgte dem i. Så hvis du valgte Bog A og derefter Bog B,\n" "vil Bog A have serie-nummer 1 og Bog B serie-nummer 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Automatisk nummerér bøger i denne serie" -#: /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:364 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" @@ -7041,15 +7037,15 @@ msgstr "" "nummerering\n" "fra værdien i boksen" -#: /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:368 msgid "Remove &format:" msgstr "Fjern &format" -#: /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:369 msgid "&Swap title and author" msgstr "&Ombyt titel og forfatter" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7059,11 +7055,11 @@ msgstr "" "hakket af,\n" "vil titel og forfatter blive byttet før titel-case anvendes" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Skift titel til titel-case" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7073,33 +7069,33 @@ msgstr "" "\n" "Fremtidige konverteringer af disse bøger vil anvende standardindstillinger." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Fjern &gemte konverteringsindstillinger for de valgte bøger" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Grund metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Tilpas metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Søg &felt:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Feltnavnet du ønsker at søge efter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Søgetilstand:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7107,11 +7103,11 @@ msgstr "" "Vælg om der ønskes anvendt almindelig matching - eller avanceret regulært " "udtryk matching" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Søg efter:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7119,7 +7115,7 @@ msgstr "" "Indtast hvad du søger efter, enten almindelig tekst - eller et regulært " "udtryk, afhængig af valgt søgetilstand" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7128,15 +7124,15 @@ msgstr "" "små bogstaver. Fjern hak, hvis der ikke skal skelnes mellem store og små " "bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Skeln mellem store og små bogstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "E&rstat med:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7144,11 +7140,11 @@ msgstr "" "Erstatningsteksten. Den matchede søgefund vil bliver erstattet med denne " "tekststreng" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Anvend funktion efter erstat:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7159,11 +7155,11 @@ msgstr "" "tegntilstand, behandles\n" "hele feltet. I regulært udtryk tilstand, behandles kun den matchede tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Destinationsfelt:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7171,15 +7167,15 @@ msgstr "" "Feltet som teksten skal isættes efter alle erstatninger. Hvis tom, vil " "kildefeltet blive anvendt." -#: /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:394 msgid "Mode:" msgstr "Tilstand:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Angiv hvordan teksten skal kopieres til destinationen." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7189,23 +7185,23 @@ msgstr "" "denne boks indikere om et komma eller\n" "ej skal indsættes mellem den oprindelige tekst - og det tilføjede tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "anvend komma" -#: /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:399 msgid "Test &text" msgstr "Test &tekst" -#: /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:400 msgid "Test re&sult" msgstr "Test re&sultat" -#: /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:401 msgid "Your test:" msgstr "Dit resultat:" -#: /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:402 msgid "&Search and replace" msgstr "&Søg og erstat" @@ -7492,20 +7488,21 @@ msgstr "Adgangskode påkrævet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Br&ugernavn:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Adgangskode:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "Vi&s adgangskode" @@ -8505,7 +8502,7 @@ msgid "Show books in the main memory of the device" msgstr "Vis bøger i enhedens arbejdshukommelse" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Kort A" @@ -8514,7 +8511,7 @@ msgid "Show books in storage card A" msgstr "Vis bøger i hukommelseskort A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Kort B" @@ -8715,12 +8712,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF-viser værktøjslinje" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Næste side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Forrige side" @@ -8764,7 +8761,7 @@ msgid "Do not check for updates" msgstr "Check ikke efter opdateringer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre bibliotek" @@ -8898,37 +8895,37 @@ msgstr "Bog har hverken titel eller ISBN" msgid "No matches found for this book" msgstr "Ingen match fundet for denne book" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Hentning af metadata fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Hentet" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Hentning fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s til: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Fuldført" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Metadata hentning lykkedes for %d ud af %d bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Detaljer" @@ -9862,7 +9859,7 @@ msgstr "" ">Avanceret->Moduludvidelser" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Fejlede med at starte indholdsserveren" @@ -10077,7 +10074,7 @@ msgstr "&Aktuelle tweaks" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Søg" @@ -10223,7 +10220,7 @@ msgstr "" "sikker?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Søgninger" @@ -10316,15 +10313,15 @@ msgstr "" "Følgende bøger er allerede konverteret til %s formatet. Ønsker du at " "genkonvertere dem?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Gendan" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Donér for at støtte calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Skub forbunden enhed ud" @@ -10332,12 +10329,12 @@ msgstr "&Skub forbunden enhed ud" msgid "Calibre Quick Start Guide" msgstr "Calibre kvik start guide" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Konverteringsfejl" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10345,15 +10342,15 @@ msgstr "" "

Kunne ikke konvertere: %s

Det er en e-bog med DRM. " "Du skal først fjerne DRM med et tredjepartsværktøj." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Opskrift deaktiveret" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10363,11 +10360,11 @@ msgstr "" "calibre brugbart, venligst overvej at give en donation for at støtte dets " "udvikling. Din donation hjælper med calibres fortsatte udvikling." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Der er aktive opgaver. Er du sikker på du vil afslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10378,11 +10375,11 @@ msgstr "" "enheden.
\n" " Er du sikker på at du vil afslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "ADVARSEL: Aktive opgaver" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10623,36 +10620,36 @@ msgstr "Monospaced skriftstørrelse i px" msgid "The standard font type" msgstr "Standard skrifttype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Opslag i ordbog" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Gå til..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Næste sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Forrige sektion" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Dokument start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Dokument slut" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Sektion start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Sektion slut" @@ -10919,7 +10916,7 @@ msgstr "Skjul" msgid "Toggle" msgstr "Skift" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10929,14 +10926,14 @@ msgstr "" "din calibre bogsamling direkte på enheden. For at gøre dette skal du starte " "indholdsserveren." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Husk at lade calibre køre, da dens server kun kører, når calibre kører." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10946,20 +10943,20 @@ msgstr "" "WordPlayer. Her skal mitværtsnavn være det fuldt kvalificerede værtsnavn " "(FQDN) eller IP-adresse, computeren calibre kører på." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Flytter bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Flytning af bibliotek fejlede" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Ugyldig database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -10967,20 +10964,20 @@ msgstr "" "

Et ugyldigt bibliotek eksisterer allerede ved %s, slet det før der igen " "prøves på at flytte det eksisterende bibliotek hertil.
Fejl: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Kunne ikke flytte bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Vælg placering til bøger" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "Du skal vælge en tom mappe til calibre-biblioteket. %s er ikke tomt." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "Velkommen guide" @@ -11086,48 +11083,71 @@ msgstr "" "den nye placering. Hvis der allerede er et calibre-bibliotek på den nye " "placering, vil calibre skifte til at anvende dette." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Anvender: %s:%s@%s:%s og %s kryptering" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Sender..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Mail blev succesfuldt sendt" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Færdiggør gmail opsætning" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Glem ikke at indtaste dit gmail brugernavn og adgangskode. Du kan registrere " -"dig til en gratis gmail-konto på http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Ugyldig konfiguration" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Du skal angive Fra e-mail-adressen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "Du skal angive brugernavn og adgangskode til mailserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Send e-mail &fra:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Dette er hvad der vil stå i Fra: feltet for e-mails sendt fra " "calibre.
Sæt det til din e-mail-adresse" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11143,51 +11163,51 @@ msgstr "" "

En mailserver er brugbar, hvis den service du sender til kun accepterer e-" "mails fra velkendte e-mailservices." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "Mail&server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "calibre kan alternativt bruge en separat smtp-server til at sende e-" "mails" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Værtsnavn:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Værtsnavnet for din smtp-server. For eksempel smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "IP-porten din smtp-server lytter efter forbindelser på. Standardværdien er 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Dit brugernavn på smtp-serveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Din adgangskode på smtp-serveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Vis" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Kryptering:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11195,23 +11215,27 @@ msgstr "" "Brug TLS-kryptering når der forbindes til smtp-serveren. Dette er det mest " "normale." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Brug SSL-kryptering når der forbindes til smtp-serveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Brug Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Test e-mail" @@ -11277,7 +11301,7 @@ msgstr "blank" msgid "empty" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11291,7 +11315,7 @@ msgstr "" "Standard: '%%default'\n" "Anvendes til: CSV, XML output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11303,7 +11327,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: CSV, XML output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11317,7 +11341,7 @@ msgstr "" "Standard: '%%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11329,7 +11353,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11341,7 +11365,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11355,7 +11379,7 @@ msgstr "" "Standard: '%%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11367,7 +11391,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11379,7 +11403,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11391,7 +11415,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: BIBTEX output-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11401,7 +11425,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11415,7 +11439,7 @@ msgstr "" "Standard: '%default'None\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11425,7 +11449,7 @@ msgstr "" "Standard: '%default' eksluderer parantesomsluttede mærker, f.eks. '[]'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11439,7 +11463,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11449,7 +11473,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11459,7 +11483,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes på: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11469,7 +11493,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11479,7 +11503,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11493,7 +11517,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11509,7 +11533,7 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11519,6 +11543,13 @@ msgstr "" "Standard: '%default'\n" "Anvendes til: ePub, MOBI output-formater" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Ugyldige titler" @@ -12231,35 +12262,35 @@ msgstr "" "Mærket må kun indeholde småbogstaver, cifre og bundstreger - og skal begynde " "med et bogstav" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sMiddel vurderingen er %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Main/hjem/primær" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "

Flytter gammel database til e-bogsbibliotek i %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Komprimerer database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Checker SQL integritet..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Checker for manglende filer." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Checket id" @@ -12483,128 +12514,129 @@ msgstr "" "Præfiks til tilføj-til-front af alle URLs. Nyttigt for reverse-proxying til " "denne server fra Apache/nginx/osv." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "Adgangskode til dit calibre bibliotek. Brugernavnet er " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Henter, vent venligst" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Første" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Sidste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Forrige" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Næste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Gennemse %d bøger" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Middelvurdering" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f stjerner" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d stjerner" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularitet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Sortér efter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "bibliotek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "hjem" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Nyeste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Alle bøger" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Gennemse bøger efter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Vælg en kategori at gennemse efter:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Gennemse efter" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Op" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Bøger i" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Andre formater" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Læser %s i %s formatet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Hent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Permanent-link" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Et permanent-link til denne bog" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Denne bog er blevet slettet" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "i søgning" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Matchende bøger" @@ -12939,7 +12971,7 @@ msgstr "SSH-sessionsforhandling fejlede: " msgid "Failed to authenticate with server: %s" msgstr "autentificering med server fejlede: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Styre e-mail levering" @@ -14038,6 +14070,9 @@ msgstr "Download ikke CSS-stilark" #~ msgid "Job stopped by user" #~ msgstr "Opgave stoppet af bruger" +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Adgangskode til dit calibre bibliotek. Brugernavnet er " + #~ msgid "Could not launch worker process." #~ msgstr "Kunne ikke starte arbejdsprocess." @@ -14477,6 +14512,14 @@ msgstr "Download ikke CSS-stilark" #~ msgid "Output directory. Defaults to current directory" #~ msgstr "Output-mappe. Gør nuværende mappe til standard." +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Ønsket middel linjelængde for HTML-linjeombrydning hvis HTML er fra en " +#~ "tidligere delkonvertering af en PDF-fil. Standardværdien er %default hvilket " +#~ "deaktiverer dette." + #~ msgid "EDITORIAL REVIEW" #~ msgstr "LEDER REVISION" @@ -14769,6 +14812,16 @@ msgstr "Download ikke CSS-stilark" #~ msgid "&Search:" #~ msgstr "&Søg:" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Glem ikke at indtaste dit gmail brugernavn og adgangskode. Du kan registrere " +#~ "dig til en gratis gmail-konto på http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Færdiggør gmail opsætning" + #~ msgid "" #~ "Comma separated list of formats to save for each book. By default all " #~ "available books are saved." diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index fc37eecd60..574a0b9de8 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-18 10:45+0000\n" -"Last-Translator: MasterCom7 \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:34+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-19 04:48+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:04+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Δεν κάνει τίποτα" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -168,11 +168,11 @@ msgstr "Τύπος αρχείου" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:208 msgid "Metadata reader" -msgstr "Αναγνώστης metadata" +msgstr "Αναγνώστης μεταδεδομένων" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:238 msgid "Metadata writer" -msgstr "Εγγραφέας metadata" +msgstr "Εγγραφέας μεταδεδομένων" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:268 msgid "Catalog generator" @@ -243,15 +243,17 @@ msgstr "Εξαγωγή εξωφύλλου από αρχεία κόμικς" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:311 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 msgid "Read metadata from %s files" -msgstr "Ανάγνωση συνδεδομένων από αρχεία %s" +msgstr "Ανάγνωση μεταδεδομένων από αρχεία %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:269 msgid "Read metadata from ebooks in RAR archives" -msgstr "Ανάγνωση συνδεδομένων από ηλεκτρονικά βιβλία μέσα σε αρχειοθήκες RAR" +msgstr "" +"Ανάγνωση μεταδεδομένων από ηλεκτρονικά βιβλία μέσα σε αρχειοθήκες RAR" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:332 msgid "Read metadata from ebooks in ZIP archives" -msgstr "Ανάγνωση συνδεδομένων από ηλεκτρονικά βιβλία μέσα σε αρχειοθήκες ZIP" +msgstr "" +"Ανάγνωση μεταδεδομένων από ηλεκτρονικά βιβλία μέσα σε αρχειοθήκες ZIP" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:345 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:355 @@ -260,177 +262,179 @@ msgstr "Ανάγνωση συνδεδομένων από ηλεκτρονικά #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:398 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:408 msgid "Set metadata in %s files" -msgstr "Καθορισμός συνδεδομένων σε αρχεία %s" +msgstr "Καθορισμός μεταδεδομένων σε αρχεία %s" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 msgid "Set metadata from %s files" -msgstr "Καθορισμός συνδεδομένων από αρχεία %s" +msgstr "Καθορισμός μεταδεδομένων από αρχεία %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Διεπαφή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Μετατροπή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" +"Ελέγχει πως το calibre διαβάζει τα μεταδεδομένα από τα αρχεία όταν " +"προστίθενται βιβλία" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 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:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" -msgstr "" +msgstr "Αλλαγή των πεδίων των μεταδεδομένων πριν από αποθήκευση / αποστολή" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 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:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 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:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Πρόσθετα" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Για προχωρημένους" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "" @@ -709,7 +713,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:260 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:263 msgid "Updating device metadata listing..." -msgstr "" +msgstr "Ενημέρωση καταλόγου μεταδεδομένων της συσκευής" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:339 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:378 @@ -754,18 +758,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Νέα" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Κατάλογος" @@ -791,6 +795,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Επικοινωνία με το ηλ.αναγνωστήριο Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Επικοινωνία με το ηλ.αναγνωστήριο EB600." @@ -954,14 +962,14 @@ msgstr "Λήψη καταλόγου των βιβλίων στη συσκευή. #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." -msgstr "Αφαίρεση βιβλίων από τον κατάλογο συνδεδομένων της συσκευής..." +msgstr "Αφαίρεση βιβλίων από τον κατάλογο μεταδεδομένων της συσκευής..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." -msgstr "Προσθήκη βιβλίων στον κατάλογο συνδεδομένων της συσκευής..." +msgstr "Προσθήκη βιβλίων στον κατάλογο μεταδεδομένων της συσκευής..." #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 @@ -1052,7 +1060,7 @@ msgid "" "Comma separated list of metadata fields to turn into collections on the " "device. Possibilities include: " msgstr "" -"Κατάλογος πεδίων συνδεδομένων, χωρισμένων με κόμμα, στη συσκευή, προς " +"Κατάλογος πεδίων μεταδεδομένων, χωρισμένων με κόμμα, στη συσκευή, προς " "μετατροπή σε συλλογές. Οι πιθανότητες συμπεριλαμβάνουν: " #: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190 @@ -1157,7 +1165,7 @@ msgstr "Βάλε τα αρχεία σε υποφακέλους, αν υποστ #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:86 msgid "Read metadata from files on device" -msgstr "Ανάγνωση συνδεδομένων από τα αρχεία της συσκευής" +msgstr "Ανάγνωση μεταδεδομένων από τα αρχεία της συσκευής" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:45 msgid "Use author sort instead of author" @@ -1187,7 +1195,7 @@ msgstr "Μεταφορά βιβλίων στη συσκευή..." #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:316 msgid "Sending metadata to device..." -msgstr "Αποστολή συνδεδομένων στη συσκευή..." +msgstr "Αποστολή μεταδεδομένων στη συσκευή..." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" @@ -1393,7 +1401,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:155 msgid "Options to set metadata in the output" -msgstr "Παράμετροι για τον καθορισμό των συνδεδομένων στα εξαγόμενα" +msgstr "Παράμετροι για τον καθορισμό των μεταδεδομένων στα εξαγόμενα" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/cli.py:158 msgid "Options to help with debugging the conversion" @@ -1672,6 +1680,8 @@ 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 msgid "" @@ -1716,6 +1726,9 @@ msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." msgstr "" +"Ανάγνωση μεταδεδομένων από τo προσδιορισθέν αρχείο OPF. Τα μεταδεδομένα που " +"θα διαβαστούν απ' αυτό το αρχείο θα υπερισχύσουν των μεταδομένων του πηγαίου " +"αρχείου." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:422 msgid "" @@ -1985,12 +1998,6 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2150,7 +2157,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:457 msgid "Invalid LRF file. Could not set metadata." -msgstr "" +msgstr "Άκυρο αρχείο LRF. Τα μεταδεδομένα δεν μπόρεσαν να καθοριστούν." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:582 msgid "" @@ -2355,7 +2362,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "" @@ -2730,7 +2737,7 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "" @@ -2741,7 +2748,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Αξιολόγηση" @@ -3026,7 +3033,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3232,7 +3239,7 @@ msgid "Disable UI animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "" @@ -3244,7 +3251,7 @@ msgstr "Αντιγραφή" msgid "Copy to Clipboard" msgstr "Αντιγραφή στο Πρόχειρο" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "" @@ -3399,7 +3406,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:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "" @@ -3494,7 +3501,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:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3518,7 +3525,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "" @@ -3720,9 +3727,9 @@ 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:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Απέτυχε" @@ -3783,14 +3790,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "" @@ -3931,7 +3938,7 @@ msgid "covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "μεταδεδομένα" @@ -4104,7 +4111,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:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "" @@ -4242,7 +4249,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "" @@ -4522,7 +4529,7 @@ msgstr "έξοδος" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4565,7 +4572,7 @@ msgstr "έξοδος" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Φόρμα" @@ -4645,23 +4652,23 @@ msgstr "" msgid "E-book options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -4670,22 +4677,26 @@ msgid "" "Genre Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "" @@ -5161,7 +5172,7 @@ 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:335 +#: /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 msgid "&Author(s): " msgstr "" @@ -5177,7 +5188,7 @@ msgid "" 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:344 +#: /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 msgid "&Publisher: " msgstr "" @@ -5188,7 +5199,7 @@ 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:346 +#: /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 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5196,7 +5207,7 @@ msgid "" 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:353 +#: /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/search_ui.py:214 msgid "&Series:" @@ -5204,8 +5215,8 @@ 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:354 #: /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 msgid "List of known series. You can add new series." @@ -5707,7 +5718,7 @@ msgid "Automatically number books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "" @@ -5723,228 +5734,225 @@ msgstr "" msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 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:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Συσκευή: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "από" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6074,7 +6082,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Όνομα" @@ -6125,7 +6133,7 @@ msgid "No location selected" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "" @@ -6371,50 +6379,50 @@ msgstr "" msgid "Working" msgstr "Σε εργασία" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /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:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /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:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /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:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6422,7 +6430,7 @@ msgid "" "character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6432,7 +6440,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6447,110 +6455,110 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 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:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 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:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" 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:338 msgid "Author s&ort: " 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:339 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:339 +#: /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 msgid "&Rating:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" 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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" 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:351 msgid "Comma separated list of tags to remove from the books. " 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:352 msgid "Check this box to remove all tags 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:353 msgid "Remove all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" 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:358 msgid "Clear series" 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:359 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" @@ -6558,110 +6566,110 @@ 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:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" 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:364 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:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "Remove &format:" 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:369 msgid "&Swap title and author" 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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" 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:373 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:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" 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: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:377 +#: /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:378 +#: /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:379 +#: /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:380 +#: /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:381 +#: /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:382 +#: /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:383 +#: /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:384 +#: /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:385 +#: /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:386 +#: /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:387 +#: /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" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -6669,48 +6677,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" 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:395 msgid "Specify how the text should be copied into the destination." 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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" 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:399 msgid "Test &text" 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:400 msgid "Test re&sult" 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:401 msgid "Your test:" 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:402 msgid "&Search and replace" msgstr "" @@ -6980,20 +6988,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Όν&ομα χρήστη:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Κωδικός πρόσβασης:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Εμφάνιση κωδικού πρόσβασης" @@ -7932,7 +7941,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:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "" @@ -7941,7 +7950,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:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "" @@ -8137,12 +8146,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:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 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:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Προηγούμενη Σελίδα" @@ -8186,7 +8195,7 @@ msgid "Do not check for updates" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "" @@ -8313,37 +8322,37 @@ msgstr "" msgid "No matches found for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Ολοκληρώθηκε" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9177,7 +9186,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "" @@ -9373,7 +9382,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Αναζήτηση" @@ -9515,7 +9524,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Αναζητήσεις" @@ -9603,15 +9612,15 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Αποκατάσταση" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "" @@ -9619,48 +9628,48 @@ msgstr "" 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:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 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:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 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:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -9892,36 +9901,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /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:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Επόμενο τμήμα" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Προηγούμενο τμήμα" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "" @@ -10182,59 +10191,59 @@ msgstr "Απόκρυψη" msgid "Toggle" msgstr "Εναλλαγή" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "" @@ -10321,121 +10330,150 @@ msgid "" "will switch to using it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Γίνεται αποστολή..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "Ό&νομα υπολογιστή:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Θύρα:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Εμφάνιση" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Κρυπτογράφηση:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "" @@ -10498,7 +10536,7 @@ msgstr "κενό" msgid "empty" msgstr "άδειο" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10507,7 +10545,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10515,7 +10553,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10524,7 +10562,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10532,7 +10570,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -10540,7 +10578,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -10549,7 +10587,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -10557,7 +10595,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -10565,7 +10603,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -10573,14 +10611,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -10589,14 +10627,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -10605,35 +10643,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -10642,7 +10680,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -10652,13 +10690,20 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -11200,35 +11245,35 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Κύριο" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 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:2334 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Συμπίεση βάσης δεδομένων" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "" @@ -11418,128 +11463,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Νεώτερη" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "" @@ -11856,7 +11902,7 @@ msgstr "" msgid "Failed to authenticate with server: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "" diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index d1098e87fc..1e7b29221c 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-15 01:12+0000\n" -"Last-Translator: Vladimir Oka \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 22:52+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-11-16 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,44 +267,44 @@ msgstr "Set metadata in %s files" msgid "Set metadata from %s files" msgstr "Set metadata from %s files" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Look and Feel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Adjust the look and feel of the calibre interface to suit your tastes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Behaviour" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Change the way calibre behaves" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Add your own columns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Add/remove your own columns to the calibre book list" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Customise the toolbar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -312,56 +312,56 @@ msgstr "" "Customise the toolbars and context menus, changing which actions are " "available in each" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Input Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Set conversion options specific to each input format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Common Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Set conversion options common to all formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Output Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Set conversion options specific to each output format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "Control how calibre reads metadata from files when adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Saving books to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -369,32 +369,32 @@ msgstr "" "Control how calibre exports files from its database to disc when using Save " "to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Sending books to devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Control how calibre transfers files to your ebook reader" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Metadata plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Change metadata fields before saving/sending" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Sharing books by email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Sharing" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -402,11 +402,11 @@ msgstr "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Sharing over the net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -414,33 +414,33 @@ msgstr "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Advanced" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Add/remove/customise various bits of calibre functionality" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Fine tune how calibre behaves in various contexts" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Miscellaneous" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Miscellaneous advanced configuration" @@ -764,18 +764,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "News" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catalogue" @@ -801,6 +801,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Communicate with the Cybook Gen 3 / Opus eBook reader." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "Communicate with the Cybook Orizon eBook reader." + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Communicate with the EB600 eBook reader." @@ -2081,14 +2085,6 @@ msgstr "" "can result in various nasty side effects in the rest of of the conversion " "pipeline." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "CSS file used for the output instead of the default file" @@ -2482,7 +2478,7 @@ msgstr "Comments" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Tags" @@ -2899,7 +2895,7 @@ msgstr "Main Text" msgid "%s format books are not supported" msgstr "%s format books are not supported" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Book %s of %s" @@ -2910,7 +2906,7 @@ msgstr "HTML TOC generation options." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Rating" @@ -3262,7 +3258,7 @@ msgid "" msgstr "" "Specify the character encoding of the output document. The default is cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3497,7 +3493,7 @@ msgid "Disable UI animations" msgstr "Disable UI animations" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copied" @@ -3509,7 +3505,7 @@ msgstr "Copy" msgid "Copy to Clipboard" msgstr "Copy to Clipboard" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Choose Files" @@ -3670,7 +3666,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Add books to your calibre library from the connected device" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Fetch annotations (experimental)" @@ -3767,7 +3763,7 @@ msgid "Checking database integrity" msgstr "Checking database integrity" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3795,7 +3791,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d books" @@ -4007,9 +4003,9 @@ msgid "Could not copy books: " msgstr "Could not copy books: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Failed" @@ -4070,14 +4066,14 @@ msgid "Main memory" msgstr "Main memory" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Storage Card A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Storage Card B" @@ -4222,7 +4218,7 @@ msgid "covers" msgstr "covers" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadata" @@ -4411,7 +4407,7 @@ msgid "Click the show details button to see which ones." msgstr "Click the show details button to see which ones." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Show book details" @@ -4553,7 +4549,7 @@ msgid "The specified directory could not be processed." msgstr "The specified directory could not be processed." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "No books" @@ -4850,7 +4846,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4893,7 +4889,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Form" @@ -4980,23 +4976,23 @@ msgstr "CSV/XML Options" msgid "E-book options" msgstr "E-book options" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "'Don't include this book' tag:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "'Mark this book as read' tag:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Additional note tag prefix:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "Regex pattern describing tags to exclude as genres:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5010,22 +5006,26 @@ msgstr "" "- A regex pattern of a single dot excludes all genre tags, generating no " "Genre Section" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Include 'Titles' Section" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Include 'Recently Added' Section" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sort numbers as text" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Include 'Series' Section" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "Wishlist tag:" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Tab template for catalog.ui" @@ -5528,7 +5528,7 @@ msgid "Change the title of this book" msgstr "Change the title of this book" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Author(s): " @@ -5546,7 +5546,7 @@ msgstr "" "comma" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Publisher: " @@ -5557,7 +5557,7 @@ msgid "Ta&gs: " msgstr "Ta&gs: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5567,7 +5567,7 @@ msgstr "" "

They can be any words or phrases, separated by commas." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5575,8 +5575,8 @@ msgstr "&Series:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6092,7 +6092,7 @@ msgid "Automatically number books" msgstr "Automatically number books" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Force numbers to start with " @@ -6108,97 +6108,103 @@ msgstr "tags to add" msgid "tags to remove" msgstr "tags to remove" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No details available." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Device no longer connected." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Get device information" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Get list of books on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Get annotations from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Send metadata to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Send collections to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Upload %d books to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Delete books from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Download books from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "View book on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Set default send to device action" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Send to main memory" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Send to storage card A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Send to storage card B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Main Memory" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Send specific format to" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Send and delete from library" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Eject device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Error communicating with device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "No suitable formats" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Select folder to open as device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Error talking to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6206,123 +6212,114 @@ msgstr "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Device: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detected." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "selected to send" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Choose format to send to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "No device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Cannot send: No device is connected" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "No card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Cannot send: Device has no storage card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-book:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Attached, you will find the e-book" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "by" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "in the %s format." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Sending email to" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "No suitable formats" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "Auto convert the following books before sending via email?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Could not email the following books as no suitable formats were found:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Failed to email books" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Failed to email the following books:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Sent by email:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "News:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Attached is the" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Sent news to" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto convert the following books before uploading to the device?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Sending catalogues to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Sending news to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Sending books to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6330,11 +6327,11 @@ msgstr "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "No space on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6473,7 +6470,7 @@ msgstr "Path from library" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Name" @@ -6526,7 +6523,7 @@ msgid "No location selected" msgstr "No location selected" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Bad location" @@ -6784,50 +6781,50 @@ msgstr "Search/Replace" msgid "Working" msgstr "Working" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Lower Case" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Upper Case" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Title Case" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Character match" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Regular Expression" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Replace field" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Prepend to field" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Append to field" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Editing meta information for %d books" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Book %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6839,7 +6836,7 @@ msgstr "" "your library before proceeding.

Search and replace in text fields using " "character matching or regular expressions. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6855,7 +6852,7 @@ msgstr "" "checked, the search text must match exactly. If it is unchecked, the search " "text will match both upper- and lower-case letters" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6881,31 +6878,31 @@ msgstr "" "information on python's regular expressions, and in particular the 'sub' " "function." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "You must specify a destination when source is a composite field" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Search/replace invalid" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "Authors cannot be set to the empty string. Book title %s not processed" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Title cannot be set to the empty string. Book title %s not processed" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Search pattern is invalid: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -6913,19 +6910,19 @@ msgstr "" "Applying changes to %d books.\n" "Phase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Edit Meta information" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "A&utomatically set author sort" -#: /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:338 msgid "Author s&ort: " msgstr "Author s&ort: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6933,63 +6930,63 @@ msgstr "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Rating:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Rating of this book. 0-5 stars" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "No change" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " stars" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Add ta&gs: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Open Tag Editor" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Remove tags:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Comma separated list of tags to remove from the books. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Check this box to remove all tags from the books." -#: /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 msgid "Remove all" msgstr "Remove all" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "If checked, the series will be cleared" -#: /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:358 msgid "Clear series" msgstr "Clear series" -#: /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:359 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" @@ -7001,11 +6998,11 @@ msgstr "" "you selected them. So if you selected Book A and then Book B,\n" "Book A will have series number 1 and Book B series number 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Automatically number books in this series" -#: /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:364 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" @@ -7015,15 +7012,15 @@ msgstr "" "for that series. Checking this box will tell calibre to start numbering\n" "from the value in the box" -#: /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:368 msgid "Remove &format:" msgstr "Remove &format:" -#: /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:369 msgid "&Swap title and author" msgstr "&Swap title and author" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7033,11 +7030,11 @@ msgstr "" "checked,\n" "title and author are swapped before the title case is set" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Change title to title case" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7047,33 +7044,33 @@ msgstr "" "\n" "Future conversion of these books will use the default settings." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Remove &stored conversion settings for the selected books" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Basic metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Custom metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Search &field:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "The name of the field that you want to search" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Search mode:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7081,35 +7078,35 @@ msgstr "" "Choose whether to use basic text matching or advanced regular expression " "matching" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Search for:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 -msgid "" -"Enter the what you are looking for, either plain text or a regular " -"expression, depending on the mode" -msgstr "" -"Enter the what you are looking for, either plain text or a regular " -"expression, depending on the mode" - #: /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 "" +"Enter the what you are looking for, either plain text or a regular " +"expression, depending on the mode" + +#: /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 "" "Check this box if the search string must match exactly upper and lower case. " "Uncheck it if case is to be ignored" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Case sensitive" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Replace with:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7117,11 +7114,11 @@ msgstr "" "The replacement text. The matched search text will be replaced with this " "string" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Apply function after replace:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7133,11 +7130,11 @@ msgstr "" "field is processed. In regular expression mode, only the matched text is " "processed" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Destination field:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7145,15 +7142,15 @@ msgstr "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." -#: /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:394 msgid "Mode:" msgstr "Mode:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Specify how the text should be copied into the destination." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7163,23 +7160,23 @@ msgstr "" "comma or\n" "nothing should be put between the original text and the inserted text" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "use comma" -#: /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:399 msgid "Test &text" msgstr "Test &text" -#: /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:400 msgid "Test re&sult" msgstr "Test re&sult" -#: /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:401 msgid "Your test:" msgstr "Your test:" -#: /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:402 msgid "&Search and replace" msgstr "&Search and replace" @@ -7464,20 +7461,21 @@ msgstr "Password needed" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Username:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Password:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Show password" @@ -8473,7 +8471,7 @@ msgid "Show books in the main memory of the device" msgstr "Show books in the main memory of the device" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Card A" @@ -8482,7 +8480,7 @@ msgid "Show books in storage card A" msgstr "Show books on storage card A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Card B" @@ -8683,12 +8681,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Viewer toolbar" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Next Page" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Previous Page" @@ -8732,7 +8730,7 @@ msgid "Do not check for updates" msgstr "Do not check for updates" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre Library" @@ -8866,37 +8864,37 @@ msgstr "Book has neither title nor ISBN" msgid "No matches found for this book" msgstr "No matches found for this book" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Failed to download metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "cover" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Downloaded" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Failed to get" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s for: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Done" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Successfully downloaded metadata for %d out of %d books" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Details" @@ -9822,7 +9820,7 @@ msgstr "" "by customising the device interface plugins in Preferences->Advanced->Plugins" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Failed to start content server" @@ -10038,7 +10036,7 @@ msgstr "&Current tweaks" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Search" @@ -10183,7 +10181,7 @@ msgstr "" "Changing the metadata for that many books can take a while. Are you sure?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Searches" @@ -10276,15 +10274,15 @@ msgstr "" "The following books have already been converted to %s format. Do you wish to " "reconvert them?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Restore" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Donate to support calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Eject connected device" @@ -10292,12 +10290,12 @@ msgstr "&Eject connected device" msgid "Calibre Quick Start Guide" msgstr "Calibre Quick Start Guide" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Conversion Error" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10305,15 +10303,15 @@ msgstr "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Recipe Disabled" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Failed" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10323,11 +10321,11 @@ msgstr "" "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "There are active jobs. Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10337,11 +10335,11 @@ msgstr "" " Quitting may cause corruption on the device.
\n" " Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "WARNING: Active jobs" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10581,36 +10579,36 @@ msgstr "The monospaced font size in px" msgid "The standard font type" msgstr "The standard font type" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Lookup in dictionary" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Go to..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Next Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Previous Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Document Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Document End" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Section Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Section End" @@ -10876,7 +10874,7 @@ msgstr "Hide" msgid "Toggle" msgstr "Toggle" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10886,7 +10884,7 @@ msgstr "" "your calibre book collection directly on the device. To do this you have to " "turn on the content server." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -10894,7 +10892,7 @@ msgstr "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10904,20 +10902,20 @@ msgstr "" "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Moving library..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Failed to move library" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Invalid database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -10925,21 +10923,21 @@ msgstr "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Could not move library" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Select location for books" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "You must choose an empty folder for the calibre library. %s is not empty." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "welcome wizard" @@ -11044,48 +11042,78 @@ msgstr "" "location. If a calibre library already exists at the new location, calibre " "will switch to using it." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Using: %s:%s@%s:%s and %s encryption" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Sending..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Mail successfully sent" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Finish gmail setup" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" +"You can sign up for a free {name} email account at http://{url}. {extra}" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "Your %s &email address:" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "Your %s &username:" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "Your %s &password:" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "Setup" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Bad configuration" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "You must set the From email address" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "You must set the username and password for the mail server." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Send email &from:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11101,49 +11129,49 @@ msgstr "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "Mail &Server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "calibre can optionally use a server to send mail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Hostname:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "The hostname of your mail server. For e.g. smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "The port your mail server listens for connections on. The default is 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Your username on the mail server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Your password on the mail server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Show" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Encryption:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11151,23 +11179,27 @@ msgstr "" "Use TLS encryption when connecting to the mail server. This is the most " "common." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Use SSL encryption when connecting to the mail server." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Use Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "Use Hotmail" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Test email" @@ -11234,7 +11266,7 @@ msgstr "blank" msgid "empty" msgstr "empty" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11248,7 +11280,7 @@ msgstr "" "Default: '%%default'\n" "Applies to: CSV, XML output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11260,7 +11292,7 @@ msgstr "" "Default: '%default'\n" "Applies to: CSV, XML output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11274,7 +11306,7 @@ msgstr "" "Default: '%%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11286,7 +11318,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11298,7 +11330,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11312,7 +11344,7 @@ msgstr "" "Default: '%%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11324,7 +11356,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11336,7 +11368,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11348,7 +11380,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11358,7 +11390,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11372,7 +11404,7 @@ msgstr "" "Default: '%default'None\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11382,7 +11414,7 @@ msgstr "" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11396,7 +11428,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11406,7 +11438,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11416,7 +11448,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11426,7 +11458,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11436,7 +11468,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11450,7 +11482,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11466,7 +11498,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11476,6 +11508,16 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Invalid titles" @@ -12184,35 +12226,35 @@ msgstr "" "The label must contain only lower case letters, digits and underscores, and " "start with a letter" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sAverage rating is %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Main" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrating old database to ebook library in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Copying %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Compacting database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Checking SQL integrity..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Checking for missing files." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Checked id" @@ -12436,128 +12478,129 @@ msgstr "" "Prefix to prepend to all URLs. Useful for reverseproxying to this server " "from Apache/nginx/etc." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "Password to access your calibre library. Username is " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Loading, please wait" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "Go to" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "First" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Last" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Previous" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Next" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Browsing %d books" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Average rating" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f stars" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d stars" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularity" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Sort by" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "library" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "home" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Newest" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "All books" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Browse books by" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Choose a category to browse by:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Browsing by" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Up" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Books in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Other formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Read %s in the %s format" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Get" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "A permanent link to this book" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "This book has been deleted" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "in search" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Matching books" @@ -12891,7 +12934,7 @@ msgstr "Failed to negotiate SSH session: " msgid "Failed to authenticate with server: %s" msgstr "Failed to authenticate with server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Control email delivery" @@ -13384,6 +13427,9 @@ msgstr "Do not download CSS stylesheets." #~ "Email\n" #~ "Delivery" +#~ msgid "Finish gmail setup" +#~ msgstr "Finish gmail setup" + #~ msgid "Customize %s" #~ msgstr "Customize %s" @@ -13446,6 +13492,9 @@ msgstr "Do not download CSS stylesheets." #~ "The format in which to output the data. Available choices: %s. Defaults is " #~ "text." +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Password to access your calibre library. Username is " + #~ msgid "" #~ "[options]\n" #~ "\n" @@ -13509,6 +13558,13 @@ msgstr "Do not download CSS stylesheets." #~ msgid " " #~ msgstr " " +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." + #~ msgid "" #~ "Regular expression: the expression must match anywhere in the metadata" #~ msgstr "" @@ -13519,3 +13575,10 @@ msgstr "Do not download CSS stylesheets." #~ msgid "Equals: the word or phrase must match an entire metadata field" #~ msgstr "Equals: the word or phrase must match an entire metadata field" + +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index d799d66c5a..f400074abc 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-14 17:36+0000\n" -"Last-Translator: Jellby \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:08+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-15 04:59+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 @@ -50,7 +50,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -59,8 +59,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -128,10 +128,10 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -140,10 +140,10 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -156,14 +156,14 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -286,45 +286,45 @@ msgstr "Asignar metadatos a los archivos %s" msgid "Set metadata from %s files" msgstr "Establecer metadatos desde archivos %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Aspecto Visual y Apariencia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interfaz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuste la apariencia y sensación de la interfaz de calibre para que se " "adapte a sus gustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportamiento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Cambiar el comportamiento de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Añadir sus propias columnas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Añada/elimine sus propias columnas en la lista de libros de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personalizar la barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -332,60 +332,60 @@ msgstr "" "Personaliza las barras de herramientas y los menús de contexto, cambiando " "las acciones que estarán disponible en cada uno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Opciones de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversión" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Establecer las opciones de conversión específicas de cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Opciones comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "" "Establecer las opciones de conversión comunes para todos los formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Opciones de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "" "Establece las opciones específicas de conversión para cada formato de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla cuándo calibre lee los metadatos de los archivos al añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Guardar libros en disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -393,33 +393,33 @@ msgstr "" "Controla cuándo calibre exporta archivos de su base de datos al dicos al " "usar Guardar al disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Enviar libros a dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controla cuándo calibre transfiere los archivos a su lector de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Control de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Cambiar los cambpos de metadatos antes de guardar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Compartir de libros por correo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Compartir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -427,11 +427,11 @@ msgstr "" "Configurar la compartición de libros por correo electrónico. Puede usarse " "para enviar automáticamente las noticias descargadas a sus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Compartir por red" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -440,33 +440,33 @@ msgstr "" "biblioteca de calibre en cualquier lugar, con cualquier dispositivo, a " "través de Internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Complementos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avanzada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Añadir/eliminar/configurar diversas funciones de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ajuste como se comporta calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Miscelánea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Configuración miscelánea avanzada" @@ -783,18 +783,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catálogo" @@ -820,6 +820,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Comunicarse con el lector Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Comunicar con el lector EB600" @@ -2130,15 +2134,6 @@ msgstr "" "que está haciendo, ya que puede ocasionar varios efectos desagradables en el " "resto del proceso de conversión." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Longitud de línea promedio para la división de líneas si el HTML viene de " -"una conversión parcial previa de un archivo PDF. El valor por defecto es " -"%default, que desactiva esta opción." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "Fichero CSS usado en la salida en lugar del predeterminado" @@ -2534,7 +2529,7 @@ msgstr "Comentarios" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiquetas" @@ -2960,7 +2955,7 @@ msgstr "Texto principal" msgid "%s format books are not supported" msgstr "El formato de libros %s no está soportado" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Libro %s de %s" @@ -2971,7 +2966,7 @@ msgstr "Opciones de generación del Índice HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Valoración" @@ -3331,7 +3326,7 @@ msgstr "" "Especificar la codificación del documento de salida. El valor por defecto es " "cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3578,7 +3573,7 @@ msgid "Disable UI animations" msgstr "Desactivar animaciones de la interfaz" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copiado" @@ -3590,7 +3585,7 @@ msgstr "Copiar" msgid "Copy to Clipboard" msgstr "Copiar al portapapeles" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Escoger ficheros" @@ -3757,7 +3752,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Añadir libros a la biblioteca de calibre a partir del dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Obtener anotaciones (experimental)" @@ -3854,7 +3849,7 @@ msgid "Checking database integrity" msgstr "Comprobando la integridad de la base de datos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3882,7 +3877,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d libros" @@ -4097,9 +4092,9 @@ msgid "Could not copy books: " msgstr "No se pudieron copiar estos libros: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Falló" @@ -4160,14 +4155,14 @@ msgid "Main memory" msgstr "Memoria principal" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Tarjeta de almacenamiento A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Tarjeta de almacenamiento B" @@ -4312,7 +4307,7 @@ msgid "covers" msgstr "portadas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadatos" @@ -4500,7 +4495,7 @@ msgid "Click the show details button to see which ones." msgstr "Pulse el botón \"Mostrar detalles\" para ver cuáles." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Mostrar detalles del libro" @@ -4643,7 +4638,7 @@ msgid "The specified directory could not be processed." msgstr "El directorio especificado no se puede procesar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Sin libros" @@ -4941,7 +4936,7 @@ msgstr "salida" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4984,7 +4979,7 @@ msgstr "salida" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulario" @@ -5071,25 +5066,25 @@ msgstr "Opciones CSV/XML" msgid "E-book options" msgstr "Opciones de libro digital" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Etiqueta para 'no incluir este libro':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Etiqueta para 'marcar este libro como leído':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Prefijo adicional para notas:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Expresión regular que describe las etiquetas que no se considerarán como " "géneros:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5103,22 +5098,26 @@ msgstr "" "- Una expresión con sólo un punto excluye todas las etiquetas de género, por " "lo que ne genera la sección Géneros" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Incluir la sección 'Títulos'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Incluir la sección 'Añadidos recientemente'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Ordenar los números como texto" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Incluir la sección \"Serie\"" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Plantilla para catalog.ui" @@ -5625,7 +5624,7 @@ msgid "Change the title of this book" msgstr "Cambiar el título del libro" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autor(es): " @@ -5643,7 +5642,7 @@ msgstr "" "comas." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Editorial: " @@ -5654,7 +5653,7 @@ msgid "Ta&gs: " msgstr "Eti&quetas: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5664,7 +5663,7 @@ msgstr "" "utilizarse cualesquier palabras o frases, separadas por comas." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5672,8 +5671,8 @@ msgstr "&Serie:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6195,7 +6194,7 @@ msgid "Automatically number books" msgstr "Numerar automáticamente los libros" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Forzar números para que empiecen con " @@ -6211,97 +6210,103 @@ msgstr "etiquetas a añadir" msgid "tags to remove" msgstr "etiquetas a eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No hay detalles disponibles." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "El dispositivo ya no esta conectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Obtener información del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Obtener lista de libros en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Obtener anotaciones del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Enviar metadatos al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Enviar colecciones al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Pasar %d libros al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Borrar libros del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Obtener libros del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Ver libro en el dispositvo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Asignar acción de enviar al dispositivo por defecto" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Enviar a la memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Enviar a la tarjeta de memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Enviar a la tarjeta de memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Enviar formato especifico para" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Enviar y eliminar de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Desconectar dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Error en la comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "No hay formatos adecuados" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Seleccionar carpeta para abrir como un dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Error de comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6309,128 +6314,119 @@ msgstr "" "Hubo un error de comunicación con el dispositivo. Desconecte y vuelva a " "conectar el dispositivo o reinicie la aplicación." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "elegido para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Elige el formato para enviar al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Sin dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "No se pudo enviar: no hay ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Sin tarjeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "No se pudo enviar: el dispositivo no tiene tarjeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Libro electrónico:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "El libro electrónico está adjunto" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "por" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "en el formato %s." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Enviando correo electrónico a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "No hay formatos adecuados" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "¿Convertir automáticamente los siguientes libros antes de enviar por correo " "electrónico?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "No se pudieron enviar por correo electrónico los siguientes libros porque no " "se encontraron formatos compatibles:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Fallo al enviar libros por correo electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Fallo al enviar por correo electrónico los siguientes libros:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Enviado por correo electrónico:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Noticias:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Adjunto está el" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Enviar noticias a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "¿Convertir automáticamente los siguientes libros antes de pasarlos al " "dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Enviando catálogos al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Enviando noticias al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Enviando libros al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6439,11 +6435,11 @@ msgstr "" "encontraron formatos adecuados. Convierta el(los) libro(s) a un formato " "soportado por su dispositivo antes de volver a intentarlo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "No hay espacio en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6587,7 +6583,7 @@ msgstr "Ruta de la biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nombre" @@ -6640,7 +6636,7 @@ msgid "No location selected" msgstr "Sin ubicación seleccionada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Ubicación incorrecta" @@ -6903,50 +6899,50 @@ msgstr "Buscar/Reemplazar" msgid "Working" msgstr "Procesando..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Mayúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Formato de título (todas las iniciales en mayúscula)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Coincidencia de caracter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Expresión Regular" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Reemplazar campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Anteponer al campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Anexar al campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Editando información para %d libros" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Libro %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6959,7 +6955,7 @@ msgstr "" "continuar.

Busca y reemplaza en campos de texto usando emparejamiento de " "caracteres o expresiones regulares. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6976,7 +6972,7 @@ msgstr "" "debe coincidir exactamente. Si está desactivada, se encontrarán " "coincidencias tanto con mayúsculas como con minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -7002,34 +6998,34 @@ msgstr "" "referencia para más información sobre las expresiones regulares de " "python, y en particular sobre la función \"sub\"." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Debe especificar un destino cuando la fuente es un campo compuesto" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Buscar/sustituir no válido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "La cadena Autores no puede dejarse en blanco. El libro con el título %s no " "fue procesado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" "El título no puede dejarse en blanco. El libro con el título %s no fue " "procesado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "El patrón de búsqueda no es válido: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7037,19 +7033,19 @@ msgstr "" "Aplicando cambios a %d libros.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Editar metadatos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Establecer a&utomáticamente el orden de autor" -#: /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:338 msgid "Author s&ort: " msgstr "&Orden de autor: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7057,64 +7053,64 @@ msgstr "" "Especificar cómo ordenar el(los) autor(es) de este libro. Por ejemplo, " "ordena Miguel de Cervantes como Cervantes, Miguel de." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Valoración:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Valoración de este libro: 0-5 estrellas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Sin cambios" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " estrellas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Añadir eti&quetas: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Abrir editor de etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "Eli&minar etiquetas" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Lista de etiquetas, separadas por comas, para eliminar de los libros " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Marque esta casilla para eliminar todas las etiquetas de los libros." -#: /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 msgid "Remove all" msgstr "Eliminar todo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Si está marcado, las series serán borradas" -#: /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:358 msgid "Clear series" msgstr "Limpiar series" -#: /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:359 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" @@ -7127,11 +7123,11 @@ msgstr "" "el libro A y luego el B, el libro A será el número 1 en la serio y el libro\n" "B será el número 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Numerar automáticamente los libros de esta serie" -#: /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:364 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" @@ -7142,15 +7138,15 @@ msgstr "" "la serie. Si marca esta casilla calibre comenzará la numeración a partir del " "valor del cuadro." -#: /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:368 msgid "Remove &format:" msgstr "Eliminar &formato:" -#: /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:369 msgid "&Swap title and author" msgstr "&Intercambiar título y autor" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7161,11 +7157,11 @@ msgstr "" "autor y título están marcadas, primero se intercambian y luego se cambia el " "título." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Cambiar el título a inicial mayúscula" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7176,34 +7172,34 @@ msgstr "" "Las conversiones futuras de estos libros usarán las configuraciones " "predeterminadas." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "" "Eliminar las &configuraciones de conversión para los libros seleccionados" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Metadatos &básicos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "Metadatos &personalizados" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Campo de &búsqueda:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "El nombre del campo en el que desea buscar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Modo de búsqueda:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7211,11 +7207,11 @@ msgstr "" "Elija si desea usar el modo básico de búsqueda de texto o el modo avanzado " "de expresiones regulares" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Buscar:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7223,7 +7219,7 @@ msgstr "" "Introduzca lo que quiere buscar, ya sea un texto sencillo o una expresión " "regular, según el modo elegido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7232,15 +7228,15 @@ msgstr "" "mayúsculas o minúsculas. Desmárquela si las mayúsculas o minúsculas son " "indiferentes." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Distinguir mayúsculas y minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Sustituir con:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7248,11 +7244,11 @@ msgstr "" "El texto de reemplazo. Las coincidencias del texto buscado se sustituirán " "por este texto" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Aplicar función después de sustituir:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7263,11 +7259,11 @@ msgstr "" "el modo de caracteres se procesa todo el texto. En el mode de expresiones " "regulares sólo se procesan las coincidencias de la búsqueda" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Campo de destino:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7275,15 +7271,15 @@ msgstr "" "El campo donde se pondrá el texto después de todas las sustituciones. SI se " "deja en blanco, se usará el campo original." -#: /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:394 msgid "Mode:" msgstr "Modo:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Especifica cómo debe copiarse el texto en el destino." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7293,23 +7289,23 @@ msgstr "" "casilla indica si se usará\n" "una coma o nada entre el texto original y el añadido" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "usar coma" -#: /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:399 msgid "Test &text" msgstr "Texto de &prueba" -#: /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:400 msgid "Test re&sult" msgstr "&Resultado de la prueba" -#: /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:401 msgid "Your test:" msgstr "Su prueba:" -#: /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:402 msgid "&Search and replace" msgstr "Bu&scar y reemplazar" @@ -7602,20 +7598,21 @@ msgstr "Se necesita contraseña." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Usuario:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "Cont&raseña:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Mostrar contraseña" @@ -8632,7 +8629,7 @@ msgid "Show books in the main memory of the device" msgstr "Mostrar los libros de la memoria principal del dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Tarjeta A" @@ -8641,7 +8638,7 @@ msgid "Show books in storage card A" msgstr "Mostrar los libros de la tarjeta de memoria A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Tarjeta B" @@ -8843,12 +8840,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de herramientas del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Página siguiente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Página anterior" @@ -8892,7 +8889,7 @@ msgid "Do not check for updates" msgstr "No comprobar actualizaciones" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Biblioteca de calibre" @@ -9032,37 +9029,37 @@ msgstr "El libro no tiene ni título ni ISBN" msgid "No matches found for this book" msgstr "No se ha encontrado el libro" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "No se pudieron descargar los metadatos" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "portada" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Descargado" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "No se pudo obtener" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Hecho" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Se descargaron con éxito los metadatos para %d de %d libros" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Detalles" @@ -10017,7 +10014,7 @@ msgstr "" "dispositivo en Preferencias->Complementos" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Fallo al iniciar el servidor de contenidos" @@ -10238,7 +10235,7 @@ msgstr "&Ajustes actuales" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Buscar" @@ -10384,7 +10381,7 @@ msgstr "" "Cambiar los metadatos de muchos libros puede tardar un rato. ¿Está seguro?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Búsquedas" @@ -10478,15 +10475,15 @@ msgstr "" "Los siguientes libros ya han sido convertidos al formato %s. ¿Desea volver a " "convertirlos?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Restaurar" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Donar para apoyar a calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Desconectar dispositivo conectado" @@ -10494,12 +10491,12 @@ msgstr "&Desconectar dispositivo conectado" msgid "Calibre Quick Start Guide" msgstr "Guía de inicio rápido de calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Error de conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10508,15 +10505,15 @@ msgstr "" "href=\"%s\">DRM. Debe eliminar primero el DRM con herramientas de " "terceros." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Receta deshabilitada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Fallo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10526,11 +10523,11 @@ msgstr "" "lo encuentra útil, considere donar para apoyar su desarrollo. Su donación es " "lo que hace que el desarrollo de calibre continúe." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hay tareas activas. ¿Está seguro de que quiere salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10541,11 +10538,11 @@ msgstr "" "de datos en el dispositivo.
\n" " ¿Está seguro de que desea salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "AVISO: Tareas activas" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10790,36 +10787,36 @@ msgstr "El tamaño de letra monoespaciada en px" msgid "The standard font type" msgstr "El tipo de letra estándar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Localizar en el diccionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Siguiente sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Sección anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Inicio del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Final del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Inicio de la sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Final de la sección" @@ -11088,7 +11085,7 @@ msgstr "Ocultar" msgid "Toggle" msgstr "Alternar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11098,7 +11095,7 @@ msgstr "" "Android, puede acceder a su colección de libros de calibre directamente con " "él. Para ello debe activar el servidor de contenidos." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11106,7 +11103,7 @@ msgstr "" "Recuerde dejar calibre en ejecución, el servidor sólo funciona mientras " "calibre se está ejecutando." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11116,20 +11113,20 @@ msgstr "" "WordPlayer, donde miservidor es el nombre de servidor completo o la " "dirección IP del equipo donde se ejecuta calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Moviendo la biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Fallo al mover la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Base de datos no valida" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11137,22 +11134,22 @@ msgstr "" "

Ya existe una biblioteca no válida en %s, bórrela antes de intentar mover " "la biblioteca actual.
Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "No se pudo mover la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Seleccionar ubicación para los libros" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Debe elegir una carpeta vacía para la biblioteca de calibre. %s no está " "vacía." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "asistente de bienvenida" @@ -11259,50 +11256,73 @@ msgstr "" "ubicación. Si hay otra biblioteca de calibre en esta nueva ubicación, " "calibre la usará en su lugar." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Usando: %s:%s@%s:%s y cifrado %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Enviando..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Correo enviado con éxito" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Terminar la configuración de gmail" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"No olvide introducir su nombre de usuario y contraseña de gmail. Puede " -"solicitar una cuenta gratuita de gmail en http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Configuración incorrecta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Debe asignar la dirección de correo electrónico remitente" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Debe especificar el nombre de usuario y contraseña para el servidor de " "correo." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "&Enviar correo electrónico desde:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Esto es lo que se mostrará en el campo De: de los correos electrónicos " "enviados por calibre.
Ponga su dirección de correo electrónico." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11319,52 +11339,52 @@ msgstr "" "sólo acepta correos electrónicos de servicios de correo ampliamente " "conocidos." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "Servidor de correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "calibre puede, opcionalmente, usar un servidor para enviar correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Nombre del equipo:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" "Nombre de equipo de su servidor de correo. Por ejemplo, smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "Puert&o:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "Puerto en el que su servidor de correo espera las conexiones. Por defecto es " "el 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Su nombre de usuario en el servidor de correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Su contraseña en el servidor de correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Mostrar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Cifrado:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11372,23 +11392,27 @@ msgstr "" "Usar cifrado TLS al conectar con el servidor de correo. Ésta es la opción " "común." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Usar cifrado SSL al conectar con el servidor de correo." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Usar &gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "Pro&bar correo electrónico" @@ -11455,7 +11479,7 @@ msgstr "blank" msgid "empty" msgstr "empty" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11469,7 +11493,7 @@ msgstr "" "Valor por defecto: '%%default'\n" "Aplicable a: formatos de salida CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11482,7 +11506,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11496,7 +11520,7 @@ msgstr "" "Valor predeterminado: '%%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11509,7 +11533,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11521,7 +11545,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11536,7 +11560,7 @@ msgstr "" "Valor predeterminado: '%%default'\n" "Aplicable a: formato de salida BIBTEXT" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11548,7 +11572,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11560,7 +11584,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11572,7 +11596,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11582,7 +11606,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11596,7 +11620,7 @@ msgstr "" "Valor por defecto: '%default'None\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11608,7 +11632,7 @@ msgstr "" "ejemplo '[]'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11622,7 +11646,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11632,7 +11656,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11642,7 +11666,7 @@ msgstr "" "Por defecto: '%default'\n" "Aplicar a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11652,7 +11676,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11663,7 +11687,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11677,7 +11701,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11692,7 +11716,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub y MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11702,6 +11726,13 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Títulos no válidos" @@ -12424,37 +12455,37 @@ msgstr "" "La etiqueta debe contener sólo letras minúsculas, dígitos y guión bajo, y " "empezar por una letra" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sCalificación promedio es %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Principal" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrando la base de datos antigua a la biblioteca de libros electrónicos " "en %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Compactando la base de datos" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Comprobando la integridad de SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Comprobando ficheros inexistentes." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "ID comprobado" @@ -12682,129 +12713,129 @@ msgstr "" "Prefijo para anteponer a todas las URL. Útil para \"reverseproxying\" a este " "servidor Apache/nginx/etc." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" -"Contraseña para acceder a la biblioteca de calibre. El nombre de usuario es " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Cargando. Por favor, espere" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Primero" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Ultimo" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Anterior" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Siguiente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Explorando %d libros" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Valoración media" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f estrellas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d estrellas" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularidad" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Ordenar por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "biblioteca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "inicio" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Más reciente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Todos los libros" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Explorar libros por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Elija una categoría" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Explorando por" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Arriba" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Libros en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Otros formatos" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Leer %s en el formato %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Obtener" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Un enlace permanente a este libro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Este libro ha sido borrado" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "en búsqueda" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Libros encontrados" @@ -13145,7 +13176,7 @@ msgstr "No se pudo establecer la sesión SSH: " msgid "Failed to authenticate with server: %s" msgstr "No se pudo autenticar con el servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Controlar el envío de correo electrónico" @@ -15593,6 +15624,16 @@ msgstr "No descargar estilos CSS." #~ "href=\"http://calibre.kovidgoyal.net/user_manual\">en línea el Manual de " #~ "usuario." +#~ msgid "Finish gmail setup" +#~ msgstr "Terminar la configuración de gmail" + +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "No olvide introducir su nombre de usuario y contraseña de gmail. Puede " +#~ "solicitar una cuenta gratuita de gmail en http://gmail.com" + #~ msgid "" #~ "The format in which to output the data. Available choices: %s. Defaults is " #~ "text." @@ -15600,6 +15641,10 @@ msgstr "No descargar estilos CSS." #~ "El formato en el que se muestran los datos. Las opciones disponibles son: " #~ "%s. Por defecto es text." +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "" +#~ "Contraseña para acceder a la biblioteca de calibre. El nombre de usuario es " + #~ msgid "" #~ "[options]\n" #~ "\n" @@ -15920,6 +15965,14 @@ msgstr "No descargar estilos CSS." #~ msgid "Edit meta information" #~ msgstr "Editar metadatos" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Longitud de línea promedio para la división de líneas si el HTML viene de " +#~ "una conversión parcial previa de un archivo PDF. El valor por defecto es " +#~ "%default, que desactiva esta opción." + #~ msgid "(%d found)" #~ msgstr "(%d encontrado)" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index 4f750ecd14..6ccc0b86ca 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-14 04:08+0000\n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 22:56+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-11-15 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:02+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,45 +267,45 @@ msgstr "Ezarri metadatuak %s fitxategietan" msgid "Set metadata from %s files" msgstr "Ezarri metadatuak %s fitxategietatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Itxura eta izaera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interfazea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Doi ezazu calibreren interfazearen itxura zure gustuen arabera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Jokabidea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Alda ezazu calibreren jokatzeko era" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Gehi itzazu zureak diren zutabeak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Gehitu/ezabatu itzazu zuk egindako zure zutabeak calibreren liburu " "zerrendara/zerrendatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Pertsonalizatu tresna-barra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -313,58 +313,58 @@ msgstr "" "Pertsonalizatu tresna-barra eta testuinguruaren araberako menuak, bakoitzean " "eskuragarri agertuko diren ekintzekin aldatuz." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Sorburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Bihurketa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Ezarri itzazu sorburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Aukera komunak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Ezarri itzazu formatu guztietarako komunak diren bihurketa aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Helburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Ezarri itzazu helburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Liburuak gehitzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Inportatu/Esportatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrola ezazu calibrek nola irakurtzen dituen metadatuak fitxategietatik " "liburuak gehitzerakoan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Liburuak diskan gordetzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -372,34 +372,34 @@ msgstr "" "Kontrola ezazu calibrek nola esportatzen dituen fitxategiak bere datu " "basetik diskora \"Diskoan gorde\" aukera erabiltzen denean." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Bidaltzen liburuak gailuetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Kontrola ezazu ea calibrek nola bidaltzen dituen fitxategiak zure liburu " "elektronikoetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Metadatuen konektore-txartela" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Aldatu metadatu eremuak gorde/igorri baino lehenago" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Liburuak e-posta bidez partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -407,11 +407,11 @@ msgstr "" "Antolatu liburuen elkarbanatzea e-postaren bidez. Saretik deskargatutako " "albisteak norbere gailuetara automatikoki bidaltzeko erabil daiteke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Sarean zehar elkarbanatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -420,35 +420,35 @@ msgstr "" "interneten bidezko sarbidea emango dizun edozein lekutan eta edozein " "gailuren bidez" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Pluginak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Aurreratua" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Gehitu/ezabatu/pertsonalizatu calibreren zenbait aukera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Doikuntzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Afina ezazu zehaztasun handiz nola jokatuko duen calibrek hainbat " "testuingurutan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Denetarik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Hainbat gauzetarako ezarpen aurreratuak" @@ -786,18 +786,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Albisteak" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Katalogoa" @@ -824,6 +824,10 @@ msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "" "Jar zaitez harremanetan \"Cybook Gen 3 / Opus eBook reader\" horrekin." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Komunikatu EB600 eBook irakurgailuarekin." @@ -2194,15 +2198,6 @@ msgstr "" "hau bakarrik ondo dakizunean zertaz ari zaren. Aukera honek gustuko ez diren " "ondorio batzuk bihurketaren beste eremu batzuetara ekar ditzake." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Batez besteko lerroaren luzera jauzi-lerroan baldin eta HTML hori aurretik " -"egin den PDF fitxategi baten bihurketa bada. Lehenetsita hauxe: %default eta " -"horrek hau bertan behera utziko luke." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2625,7 +2620,7 @@ msgstr "Iruzkinak" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiketak" @@ -3056,7 +3051,7 @@ msgstr "Testu nagusia" msgid "%s format books are not supported" msgstr "%s liburuen formatuekin ezin. Oraingoz sostengurik ez" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "%s liburu %s-etatik" @@ -3067,7 +3062,7 @@ msgstr "HTML aurkibideak sortzeko aukerak." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Balorazioa" @@ -3427,7 +3422,7 @@ msgid "" msgstr "" "Zehaztu karaktereen kodea helburu dokumentuan. Lehenetsita hauxe: cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3678,7 +3673,7 @@ msgid "Disable UI animations" msgstr "Desgaitu EI (erabiltzailearen interfazearen) animazioak" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Kopiaturik" @@ -3690,7 +3685,7 @@ msgstr "Kopiatu" msgid "Copy to Clipboard" msgstr "Kopiatu arbelean" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Aukeratu fitxategiak" @@ -3855,7 +3850,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Gehitu liburuak zure calibre liburutegira konektatutako gailutik" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Berreskura itzazu zure ohar eta zirriborroak (esperimentala)" @@ -3952,7 +3947,7 @@ msgid "Checking database integrity" msgstr "Datu baseen osaketa aztertzen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3980,7 +3975,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d books" @@ -4196,9 +4191,9 @@ msgid "Could not copy books: " msgstr "Ezin izan dira liburuak kopiatu: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Huts egin du" @@ -4259,14 +4254,14 @@ msgid "Main memory" msgstr "Memoria nagusia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Memoria-txartela A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Memoria-txartela B" @@ -4411,7 +4406,7 @@ msgid "covers" msgstr "liburu-azalak" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadatuak" @@ -4602,7 +4597,7 @@ msgstr "" "Egin klik zehaztasunak erakutsi botoian ea zeintzuk izan diren ikusteko." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Show book details" @@ -4746,7 +4741,7 @@ msgid "The specified directory could not be processed." msgstr "Zehaztutako direktorioa ezin izan da prozesatu." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Libururik ez" @@ -5048,7 +5043,7 @@ msgstr "outputa, helburua" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -5091,7 +5086,7 @@ msgstr "outputa, helburua" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Inprimakia" @@ -5179,25 +5174,25 @@ msgstr "CSV/XML aukerak" msgid "E-book options" msgstr "E-liburu aukerak" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "'Liburu hau ez sartu' etiketa:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "'Liburu hau irakurrita bezala markatu' etiketa:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Ohar gehigarriaren etiketa aurrizkia:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Regex eredua, \"ohiko adierazpen\" eredua, baztertzeko etiketak " "deskribatzen, generoarengatik esaterako:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5211,22 +5206,26 @@ msgstr "" "- dot sinple baten regex eredu batek kanpoan utziko ditu genero etiketa " "guztiak, Generorik Gabeko Saila sortuz." -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Bere baitan 'Izenburuak' saila badago" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Erantsi 'Gehitu berriak' atala" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sailkatu zenbakiak testuak izango balira bezala" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "'Series' Saila barne" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Tab txantiloia katalogo.ui horretarako" @@ -5735,7 +5734,7 @@ msgid "Change the title of this book" msgstr "Aldatu liburu honen izenburua" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Egilea(k):s " @@ -5753,7 +5752,7 @@ msgstr "" "beharko lirateke." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Argitaratzailea: " @@ -5764,7 +5763,7 @@ msgid "Ta&gs: " msgstr "Etike&tak: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5775,7 +5774,7 @@ msgstr "" "etiketa, komekin bereiziak." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5783,8 +5782,8 @@ msgstr "&Sailak:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6309,7 +6308,7 @@ msgid "Automatically number books" msgstr "Liburuen zenbaketa automatikoa" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "behartu zenbakia honekin hasten " @@ -6325,97 +6324,103 @@ msgstr "gehitzeko etiketak" msgid "tags to remove" msgstr "ezabatzeko etiketak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Ez dago zehaztasunik eskura." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Irakurgailua dagoeneko ez dago konektaturik." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Lortu irakurgailutik informazioa" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Lortu liburu zerrenda irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Lortu zirriborroak eta oharrak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Igorri irakurgailura metadatuak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Igorri irakurgailura bildumak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Kargatu %d liburuak irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Ezabatu liburuak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Deskargatu liburuak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Ikusi liburua irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Ezarri lehenetsia bezala \"irakurgailura bidali\" ekintza" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Bidali memoria nagusira" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Bidali A memoria-txartelera" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Bidali B memoria-txartelera" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Memoria nagusia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Bidali formatu zehatza hona" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Bidali eta ezabatu liburutegitik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Egotzi irakurgailua (Eject)" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Irakurgailuarekin komunikatzeko saioak huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Ez dago formatu egokirik" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Aukeratu karpeta bat irakurgailua izango balitz bezala zabaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Akatsen bat irakurgailuarekin komunikatzerakoan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6423,127 +6428,118 @@ msgstr "" "Behin-behineko huts egite bat egon da irakurgailuarekin komunikatzerakoan. " "Mesedez, deskonektatu eta konektatu berriro gailua, edo berrabiarazi." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Gailua: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detektaturik." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "hautatua bidaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Aukeratu irakurgailura bidaltzeko formatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Gailurik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Ezin izan da igorri: ez dago inolako gailurik konektatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Txartelik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Ezin bidali: gailuak ez dauka memoria-txartelik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Liburu elektronikoa:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Erantsita, liburu elektronikoa topatuko duzu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "egilea:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "%s formatuan." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "E-posta igortzen honi:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Ez dago formatu egokirik" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Bihurtu modu automatikoan ondorengo liburuak e-postaren bidez igorri " "aurretik?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Ezin izan da e-postaz ondorengo liburuak igorri formatu egokirik topatu ez " "delako:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Huts egin du liburuak igortzerakoan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Huts egin du e-postaz hurrengo liburuak bidaltzerakoan:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "E-postaz igorria:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Albisteak:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Erantsita doana hau da" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Bidali albisteak honi:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Bihurtu modu automatikoan hurrengo liburuak irakurgailuan kargatu aurretik?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Katalogoak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Albisteak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Liburuak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6552,11 +6548,11 @@ msgstr "" "topatu egin ez delako. Lehenengo eta behin, bihurtu liburua(k) zure " "irakurgailuak onartzen duen formaturen batean." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Lekurik ez irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6698,7 +6694,7 @@ msgstr "Liburutegitiko laster-bidea" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Izena" @@ -6752,7 +6748,7 @@ msgid "No location selected" msgstr "Kokogunea hautatu gabe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Txarto kokatua" @@ -7021,50 +7017,50 @@ msgstr "Bilatu/Ordeztu" msgid "Working" msgstr "Lanean" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Letra xeheak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Letra larriak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Izenburuaren letra mota (xehe/larri)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Karaktereek bat egin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Adierazpen erregularra" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Ordeztu eremua" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Erantsi aurretik eremuari" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Erantsi eremuari" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Editatzen %d liburuetakometadatuen informazioa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Liburua %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -7076,7 +7072,7 @@ msgstr "" "babes-kopia egitea zeharo gomendagarria da. Bilatu eta ordeztu eremuak " "testuan adierazpen erregularrak edo irizpide-karaktereak erabiliz. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -7093,7 +7089,7 @@ msgstr "" "bada ondo zehazten, bilaketa testua bai letra larriekin bai letra xeheekin " "egingo da." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -7119,34 +7115,34 @@ msgstr "" "erreferentzia python adierazpen arruntei buruz gehiago irakurtzeko eta " "begiratu batez ere 'sub' funtzioa." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Zehaztu beha duzu helburu bat sorburua eremu mistoa denean" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Bilatu/ordeztu ez dabil" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "Egileak ezin dira hutsik dagoen kate batean ezarri. Liburuaren izenburua %s " "ez da prozesatu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" "Izenburuak ezin dira hutsik dagoen kate batean ezarri. Liburuaren izenburua " "%s ez da prozesatu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Bilatzeko patroaia ez dabil: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7154,19 +7150,19 @@ msgstr "" "Aldaketak ezartzen %d liburuetara.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Editatu meta informazioa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "A&utomatikoki ezarri egile izenaren araberako sailkapena" -#: /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:338 msgid "Author s&ort: " msgstr "Egile izenaren araberako s&ailkapena: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7174,63 +7170,63 @@ msgstr "" "Zehaztu ea nola sailkatuko d(ir)en liburu honen egile izena(k) Adibidez " "Charles Dickens honela sailkatuko da; Dickens, Charles." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Balorazioa:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Liburu honen balorazioa. 0-5 izar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Aldaketarik ez" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " izarrak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Gehitu eti&ketak: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Zabaldu etiketen editorea" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Ezabatu etiketak:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Liburuetatik ezabatzeko komen bidez bereiziriko etiketen zerrenda. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Aztertu kutxatila hau liburuetako etiketa guztiak ezabatzeko" -#: /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 msgid "Remove all" msgstr "Ezabatu dena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Arakatuz gero, seriak ezabatu egingo dira" -#: /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:358 msgid "Clear series" msgstr "Ezabatu serieak" -#: /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:359 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" @@ -7245,11 +7241,11 @@ msgstr "" "A Liburuak 1 serie zenbakia izango du eta B Liburuak 2 serie zenbakia izango " "du." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Automatikoki esleitu zenbakiak liburuei sail honetan" -#: /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:364 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" @@ -7261,15 +7257,15 @@ msgstr "" "zenbaketarekin hasteko\n" "kutxan dagoen zenbakitik hasita" -#: /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:368 msgid "Remove &format:" msgstr "Ezabatu &formatua:" -#: /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:369 msgid "&Swap title and author" msgstr "&Trukatu haien artean izenburua eta egilearen izena" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7279,11 +7275,11 @@ msgstr "" "bai egile azterketan\n" "egile eta izenburua aztertuko dira izenburu letra tipoa ezarri baino lehen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Aldatu izenburua, izenburu letra tipora" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7294,33 +7290,33 @@ msgstr "" "Etorkizunean liburu hauen bihurketek lehenetsitako ezarpenak erabiliko " "dituzte." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Ezabatu &gordetako bihurketa ezarpenak hautatutako liburuentzat" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Oinarrizko metadatuak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Pertsonalizaturiko metadatuak" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Search &eremua:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Aztertu nahi duzun eremuaren izena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Bilaketa modua:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7328,11 +7324,11 @@ msgstr "" "Aukeratu ea oinarrizko testuaren bilaketa egin edo adierazpen arrunten " "bilaketa aurreratua egin" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Bilatu hau:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7340,7 +7336,7 @@ msgstr "" "Sartu bilatzen ari zaren hori, bai testu hutsa bai adierazpen arrunta, " "aukeratu duzun moduaren arabera" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7349,26 +7345,26 @@ msgstr "" "letra larri eta letra xeheekin. Ez arakatu kutxa honetan baldin eta letra " "tipoari ez badiozu arreta eskaini nahi." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Letra larriak/xeheak bereiziz" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Ordeztu honekin:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" msgstr "" "Ordezkatze testua. Bat egiten duen testua kate honekin ordezkatu egingo da" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Aplikatu funtzioa ordezkatu eta gero:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7380,11 +7376,11 @@ msgstr "" "eremu osoa prozesatu egingo da. Adierazpen erregular moduan, bakarrik " "prozesatuko da bilatu eta bat egiten duen testua" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Helburu eremua:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7392,15 +7388,15 @@ msgstr "" "Ordezkatzeak egin eta gero ezarriko den eremua. Zuriz utziz gero, sorburu " "eremua erabiliko da." -#: /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:394 msgid "Mode:" msgstr "Modua:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Zehaztu nola kopiatuko den testua helburura." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7410,23 +7406,23 @@ msgstr "" "adieraziko du ea koma bat edo\n" "ezer ez jarriko den jatorrizko testua eta txertatutako testuaren artean" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "erabili koma bat" -#: /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:399 msgid "Test &text" msgstr "Testua &testua" -#: /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:400 msgid "Test re&sult" msgstr "Testu emai&tza" -#: /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:401 msgid "Your test:" msgstr "Zure testua:" -#: /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:402 msgid "&Search and replace" msgstr "Bilatu eta ordeztu" @@ -7720,20 +7716,21 @@ msgstr "Pasahitza beharko" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Erabiltzaile-izena:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Pasahitza:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Erakutsi pasahitza" @@ -8744,7 +8741,7 @@ msgid "Show books in the main memory of the device" msgstr "Erakutsi liburuak irakurgailuaren memoria nagusian" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "A txartela" @@ -8753,7 +8750,7 @@ msgid "Show books in storage card A" msgstr "Erakutsi liburuak A memoria-txartelean" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "B txartela" @@ -8955,12 +8952,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Ikustailearen tresna-barra" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Hurrengo orrialdea" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Aurreko orrialdea" @@ -9004,7 +9001,7 @@ msgid "Do not check for updates" msgstr "Ez ibili eguneratzeen bila" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "calibre liburutegia" @@ -9143,37 +9140,37 @@ msgstr "Liburuak ez du ez izenbururik ez ISBNrik" msgid "No matches found for this book" msgstr "Ez da bat etortzerik aurkitu liburu honetarako" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Kale egin du metadatuak deskargatzen" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "liburu-azala" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Deskargatua" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Ezin izan da eskuratu" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s honetarako: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Egina" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Ongi deskargatu dira metadatuak %d horietarako %d liburuetatik" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Zehaztasunak" @@ -10143,7 +10140,7 @@ msgstr "" "honela: Preferences->Advanced->Plugins (Aukerak>Aurreratua>Gehigarriak)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Huts egin du edukien zerbitzaria abiarazten" @@ -10364,7 +10361,7 @@ msgstr "&Current oraingo aldaketak" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Bilatu" @@ -10510,7 +10507,7 @@ msgstr "" "Liburu multzo batean metadatuak aldatzeko denbora beharko. Ziur zaude?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Bilaketak" @@ -10604,15 +10601,15 @@ msgstr "" "Honako liburuak dagoeneko %s formatura bihurtu dira. Nahi dituzu berriro " "bihurtu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Lehengoratu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Emaitza egin calibre diruz laguntzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Deskonektatu konektatuta zegoen gailua" @@ -10620,12 +10617,12 @@ msgstr "&Deskonektatu konektatuta zegoen gailua" msgid "Calibre Quick Start Guide" msgstr "Calibre Quick Start Guide (azkar erabiltzeko gida)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Bihurketa akatsa" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10635,15 +10632,15 @@ msgstr "" "sistema bat). Bihurtu ahal izateko DRM arazo hori konpondu beharko duzu " "beste batzuen lanabesak erabiliz." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Formula desgaitua" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10654,12 +10651,12 @@ msgstr "" "kontua garapenean laguntzeko. Zure emaitzak lagunduko dio calibreri garatzen " "jarraitzen." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Oraintxe bertan lan batzuk egiten ari dira. Ziur zaude irten nahi duzula?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10670,11 +10667,11 @@ msgstr "" "daiteke.
\n" " Ziur zaude? Benetan irten nahi duzu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "ABISUA: lanean dihardu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10920,36 +10917,36 @@ msgstr "Monospaced letra-tipo tamaina pixeletan" msgid "The standard font type" msgstr "Letra-tipo estandarra" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Bilatu hiztegian" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Joan horra..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Hurrengo atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Aurreko atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Documentuaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Documentuaren bukaera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Atalaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Atalaren amaiera" @@ -11221,7 +11218,7 @@ msgstr "Ezkutatu" msgid "Toggle" msgstr "Txandakatu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11231,7 +11228,7 @@ msgstr "" "zaitezke calibre liburu bildumara gailutik beratik. Hau egiteko gaitu egin " "beharko duzu edukien zerbitzaria." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11239,7 +11236,7 @@ msgstr "" "Gogoratu calibre exekutatzen uztea, zerbitzaria ibiliko da calibre dabilen " "bitartean bakarrik." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11250,20 +11247,20 @@ msgstr "" "erabat hartakoturiko, kualifikaturiko, ostatze-izena edo bestela, calibre " "exekutatzen ari den ordenagailuko IP helbidea." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Mugitzen liburutegia..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Huts egin du liburutegia mugitzen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Datu base balio gabea" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11271,22 +11268,22 @@ msgstr "" "

Balio gabeko liburutegia dago %s horretan, ezabatu oraingo liburutegia " "mugitzen saiatu baino lehen.
Errorea: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Ezin izan da liburutegia mugitu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Hautatu liburuendako kokagunea" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Aukeratu beharko duzu hutsik dagoen edozein karpeta calibre liburutegirako. " "%s hori ez dago hutsik." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "ongi-etorri laguntzailea" @@ -11393,50 +11390,73 @@ msgstr "" "da. calibre liburutegia existitzen bada dagoeneko kokagune berrian, " "calibrek aldatuko du hori erabiltzeko." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Erabiltzen: %s:%s@%s:%s eta %s kodeketa" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Bidaltzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "E-posta arrakastaz igorria" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Bukatu gmail konfiguratzen" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Ez ahantzi zure gmail kontuko erabiltzaile izena eta pasahitza sartzen. " -"Doaneko e-posta zerbitzuko kontua eskatzea duzu http://gmail.com horretan." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Konfigurazio okerra" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Aukeratu beharko duzu igorle e-posta helbidea" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Zehaztu beharko duzu erabiltzaile izena eta pasahitza e-posta " "zerbitzariarentzat." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Bidali e-posta &hemendik:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Hauxe da Igorlearen eremuan erakutsiko dena: calibrek bidalitako e-posta " "mezuen igorlea.
Ezarri ezazu zure e-posta helbidearekin." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11453,53 +11473,53 @@ msgstr "" "zerbitzuak bakarrik onartzen baditu oso ezagunak diren e-posta zerbitzuetako " "mezuak." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "E-posta &Zerbitzaria" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "calibrek erabil dezake, hautazko, horrelako zerbitzari bat mezua " "bidaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Ostalariaren izena:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" "Zure e-posta zerbitzariaren ostalariaren izena. Esate baterako smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Portua:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "Zure e-posta zerbitzariaren portua konexioen zain egongo da. Lehenetsita 25 " "da" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Zire erabiltzaile izena e-posta zerbitzarian" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Zire pasahitza e-posta zerbitzarian" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Erakutsi" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Kodeketa:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11507,25 +11527,29 @@ msgstr "" "Erabil ezazu TLS encryption, Transport Layer Security kodeketa, zure e-" "postarekiko konexioan. Hauxe da erabiliena." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS (Transport Layer Security kodeketa)" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" "Erabili SSL encryption, Secure Sockets Layer kodeketa, e-posta " "zerbitzariarekin konexioa egiterakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Erabili Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Aztertu e-posta" @@ -11592,7 +11616,7 @@ msgstr "hutsunea, zuriunea" msgid "empty" msgstr "hutsik" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11606,7 +11630,7 @@ msgstr "" "Lehenetsita: '%%default'\n" "Aplikatu hauek: CSV, XML output formatuei" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11618,7 +11642,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko: CSV, XML output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11632,7 +11656,7 @@ msgstr "" "Lehenetsita: '%%default'\n" "Aplikatu hauek: BIBTEX output formatuei" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11644,7 +11668,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11656,7 +11680,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11670,7 +11694,7 @@ msgstr "" "Lehenetsita: '%%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11682,7 +11706,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11694,7 +11718,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11706,7 +11730,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11716,7 +11740,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko zaie ePub, MOBI irteera formatuei" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11730,7 +11754,7 @@ msgstr "" "Lehenetsita: '%default'None\n" "Aplikatzeko formatu hauetarako: ePUB eta MOBI irteera formatuak" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11741,7 +11765,7 @@ msgstr "" "adibidez '[]'\n" "Erantsiko da: ePub, MOBI output formatuetan" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11757,7 +11781,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11767,7 +11791,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11777,7 +11801,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatzeko: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11787,7 +11811,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11798,7 +11822,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Applikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11813,7 +11837,7 @@ msgstr "" "Lehentsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11828,7 +11852,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11838,6 +11862,13 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Izenburu horiek ez dira zuzenak" @@ -12568,37 +12599,37 @@ msgstr "" "Etiketak idazteko bakarrik letra xeheak, zenbakiak eta azpimarrak (hau da " "beheko gidoitxoak). Letra batekin hasi beharko" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sBatezbesteko balorazioa hauxe: %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Nagusia" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira " "zera honetan: %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Kopiatzen %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Trinkotzen datu basea" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Aztertzen SQL-ren osotasuna..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Aztertzen fitxategi galduen bila." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Aztertutako ID" @@ -12830,128 +12861,129 @@ msgstr "" "URL guztiei aurretik eskegitzeko kodea. Erabilgarria zerbitzari honantz " "egiten diren atzekoz aurrerako proxyetan, Apache/nginx/ eta abarretatik hona." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "calibre liburutegian sartzeko pasahitza. Erabiltzaile izena: " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Kargatzen. Mesedez, zaude apur batean." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Lehena" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Azkena" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Aurrekoa" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Hurrengoa" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Gainbegiratzen %d liburuak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Batez besteko balorazioa" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f izarrak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d izarrak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Ospea" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Sailkatu honen arabera:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "liburutegia" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "hasiera" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Berriena" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Liburu guztiak" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Gainbegiratu liburuak honen arabera:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Aukeratu kategoria bat horren arabera gainbegiratzeko:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Gainbegiratzen honen arabera:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Gora" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "barnean" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Liburuan non:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Beste formatu batzuk" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Irakur ezazu %s formatu honetan: %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Eskuratu" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Esteka iraunkorra" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Behin betiko esteka liburu honetara" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Liburu hau ezabatu egin da" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "bilatzen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Liburuak parekatzen" @@ -13296,7 +13328,7 @@ msgstr "Huts egin du SSH saioa ezartzerakoan: " msgid "Failed to authenticate with server: %s" msgstr "Huts egin du zerbitzariarekin egiaztatzerakon: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Kontrolatu e-posta banaketa" @@ -13611,6 +13643,14 @@ msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ msgid "General" #~ msgstr "Orokorra" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Batez besteko lerroaren luzera jauzi-lerroan baldin eta HTML hori aurretik " +#~ "egin den PDF fitxategi baten bihurketa bada. Lehenetsita hauxe: %default eta " +#~ "horrek hau bertan behera utziko luke." + #~ msgid "EDITORIAL REVIEW" #~ msgstr "ARGITALETXEAREN BERRIKUSKETA" @@ -13812,6 +13852,9 @@ msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ "Berdinak: hitzak edo esaldiak metadatu baten eremu osoarekin egin beharko du " #~ "bat" +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "calibre liburutegian sartzeko pasahitza. Erabiltzaile izena: " + #~ msgid "" #~ "[options]\n" #~ "\n" @@ -13926,6 +13969,16 @@ msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ msgid "Update available" #~ msgstr "Eskuragarri dago eguneratze berri bat" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Ez ahantzi zure gmail kontuko erabiltzaile izena eta pasahitza sartzen. " +#~ "Doaneko e-posta zerbitzuko kontua eskatzea duzu http://gmail.com horretan." + +#~ msgid "Finish gmail setup" +#~ msgstr "Bukatu gmail konfiguratzen" + #~ msgid "" #~ "Book formats and metadata from the selected books will be added to the " #~ "first selected book. ISBN will not be merged.

The " diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index cc1274a4c5..28aaab9670 100644 --- a/src/calibre/translations/fr.po +++ b/src/calibre/translations/fr.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.4.22\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-13 11:33+0000\n" -"Last-Translator: Vincent C. \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:23+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-11-14 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:04+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" @@ -33,7 +33,7 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -42,8 +42,8 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -111,10 +111,10 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -123,10 +123,10 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -139,14 +139,14 @@ msgstr "Ne fait strictement rien" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -269,44 +269,44 @@ msgstr "Définir les métadonnées des fichiers %s" msgid "Set metadata from %s files" msgstr "Définir les métadonnées à partir des fichiers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Apparence" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuster l'aspect et l'ergonomie de l'interface de Calibre à votre convenance" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportement" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Changer le comportement de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Ajouter vos colonnes personnalisées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Ajouter/retirer vos propres colonnes dans la liste des livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personnaliser la barre d'outils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -314,60 +314,60 @@ msgstr "" "Personnaliser les barres d'outils et les menus contextuels, en changeant les " "actions disponibles dans ceux-ci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Options de saisie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Définissez les options de conversion spécfiques pour chaque format d'entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Options communes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "" "Définisser les options de conversion communes à tous les formats d'entrée" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Formats de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Définissez des options spécifiques pour chaque format de sortie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Ajouter des livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Définir comment les métadonnées sont lues par Calibre lors de l'ajout de " "livres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Sauvegarder les livres sur le disque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -375,34 +375,34 @@ msgstr "" "Contrôle la manière dont Calibre exporte les fichiers de sa base de données " "sur le disque lors des sauvegardes sur disque" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Envoyer les livres aux appareils" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Contrôler la façon dont Calibre exporte les fichiers vers votre lecteur " "d'eBook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Tableau de connexions de métadonnées" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Modifier les champs de métadonnées avant de sauvegarder/envoyer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Partager des livres par courriel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Partage" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -410,11 +410,11 @@ msgstr "" "Mise en place du partage de livre par courriel. Peu aussi être utilisé pour " "envoyer automatiquement les dernières nouvelles téléchargées à votre appareil" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Partager à travers le réseau" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -422,34 +422,34 @@ msgstr "" "Installer le serveur de contenu de Calibre qui vous permet d'accéder à votre " "bibliothèque Calibre n'importe où, sur tous vos appareils, via Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avancé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Ajouter/Retirer/Modifier diverses fonctionalités de Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Ajustements" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Affiner la manière dont Calibre se comporte dans différents contextes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Divers" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Diverses configurations avancées" @@ -778,18 +778,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Informations" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catalogue" @@ -815,6 +815,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Communiquer avec le lecteur eBook Cybook Gen 3 / Opus" +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Communiquer avec le lecteur d'ebook EB600" @@ -2149,15 +2153,6 @@ msgstr "" "savez ce que vous faîtes car il peut en résulter des effets variés et " "déplaisants dans le reste de le chaine de conversion." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Longueur moyenne de ligne pour les sauts de lignes si le HTML provient d'une " -"conversion précédente et partielle d'un fichier PDF. Par défaut : %default " -"(qui désactivera cela)." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "Fichier CSS utilisé pour la sortie au lieu du fichier par défaut" @@ -2561,7 +2556,7 @@ msgstr "Commentaires" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiquettes" @@ -2993,7 +2988,7 @@ msgstr "Texte principal" msgid "%s format books are not supported" msgstr "Les livres au format %s ne sont pas supportés" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Livre %s de la série %s" @@ -3004,7 +2999,7 @@ msgstr "Options pour la génération des tables de matières HTML." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Note" @@ -3368,7 +3363,7 @@ msgstr "" "Spécifier l'encodage de caractères pour le document de sortie. Par défaut : " "cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3615,7 +3610,7 @@ msgid "Disable UI animations" msgstr "Désactiver les animations de IU" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copié" @@ -3627,7 +3622,7 @@ msgstr "Copier" msgid "Copy to Clipboard" msgstr "Copier dans le Presse-papiers" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Choisir les fichiers" @@ -3794,7 +3789,7 @@ msgstr "" "connecté" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Récupérer les annotations (expérimental)" @@ -3894,7 +3889,7 @@ msgid "Checking database integrity" msgstr "Vérifier l'intégrité de la base de données" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3922,7 +3917,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d livres" @@ -4140,9 +4135,9 @@ msgid "Could not copy books: " msgstr "Impossible de copier les livres : " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Echec" @@ -4204,14 +4199,14 @@ msgid "Main memory" msgstr "Mémoire principale" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Carte mémoire A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Carte mémoire B" @@ -4357,7 +4352,7 @@ msgid "covers" msgstr "couvertures" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "métadonnées" @@ -4548,7 +4543,7 @@ msgid "Click the show details button to see which ones." msgstr "Cliquer le bouton afficher les détails pour voir lesquels." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Afficher les détails du livre" @@ -4693,7 +4688,7 @@ msgid "The specified directory could not be processed." msgstr "Le chemin spécifié ne peut pas être traité." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Aucun livre" @@ -4992,7 +4987,7 @@ msgstr "sortie" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -5035,7 +5030,7 @@ msgstr "sortie" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulaire" @@ -5122,24 +5117,24 @@ msgstr "Options CSV/XML" msgid "E-book options" msgstr "Options de l'e-book" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Etiquette 'Ne pas inclure ce livre' :" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Etiquette 'Marquer ce livre comme lu' :" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Prefixe additionnel de l'étiquette (tag) Note :" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Expression régulière décrivant les étiquettes à exclure en tant que genres :" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5153,22 +5148,26 @@ msgstr "" "- Une regex constituée d'un point exclue toutes les étiquettes de genre, " "produisant une section sans genre" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Inclure la section 'Titres'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Inclure la section 'Récemment ajouté'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Trier les chiffres comme du texte" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Inclure la section 'Series'" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Gabarit d'étiquette pour catalog.ui" @@ -5674,7 +5673,7 @@ msgid "Change the title of this book" msgstr "Modifie le titre du livre" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Auteur(s) : " @@ -5692,7 +5691,7 @@ msgstr "" "séparer leurs noms par une virgule." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Editeur : " @@ -5703,7 +5702,7 @@ msgid "Ta&gs: " msgstr "Eti&quettes : " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5714,7 +5713,7 @@ msgstr "" "ou phrases, séparés par des virgules." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5722,8 +5721,8 @@ msgstr "&Séries :" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6249,7 +6248,7 @@ msgid "Automatically number books" msgstr "Nummérotation automatique des livres" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Force les nombres à commencer par " @@ -6265,97 +6264,103 @@ msgstr "étiquettes à ajouter" msgid "tags to remove" msgstr "étiquettes à supprimer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Pas de détail disponible." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "L'appareil n'est plus connecté." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Lit les informations de l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Lit la liste des livres à partir de l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Obtenir les annotations à partir de l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Envoie les métadonnées vers l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Envoyer les collections vers l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Envoie %d livre(s) à l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Supprime les livres de l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Télécharger les livres à partir de l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Afficher le livre sur l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Indiquer l'action par défaut pour 'envoyer au lecteur'" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Envoyer vers la mémoire du lecteur" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Envoyer vers la carte mémoire A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Envoyer vers la carte mémoire B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Mémoire principale" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Envoyer le format spécifique vers" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Envoyer et effacer de la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Ejecter l'appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Pas de format convenable" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Sélectionner le dossier à ouvrir comme appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Erreur pendant la communication avec le lecteur électronique" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6364,128 +6369,119 @@ msgstr "" "lecteur électronique. Veuillez déconnecter et reconnecter le lecteur " "électronique et redémarrer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Appareil : " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detecté." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "sélectionné pour l'envoi" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Choisir le format à envoyer au lecteur" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Aucun appareil" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Impossible d'envoyer : Aucun appareil n'est connecté" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Aucune carte" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Impossible d'envoyer : L'appareil n'a pas de carte mémoire" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-book :" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "En pièce jointe, vous trouverez l'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "par" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "dans le format %s." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Envoi d'un email à" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Pas de format convenable" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Convertir automatiquement les livres suivants avant de les envoyer par email " "?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Impossible d'envoyer par email les livres suivants car aucun format " "convenable n'a été trouvé :" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "L'envoi par email des livres a échoué" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "L'envoi par email des livres suivants a échoué :" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Envoyer par email :" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "News :" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Le fichier attaché est" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Envoi des News vers" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertir automatiquement les livres suivants avant de les télécharger dans " "l'appareil ?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Envoie les catalogues vers l'appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Envoi les News vers l'appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Envoie les livres dans l'appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6494,11 +6490,11 @@ msgstr "" "convenable n'a été trouvé. Convertissez avant le(s) livre(s) vers un format " "supporté par votre appareil." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Le lecteur électronique n'a plus d'espace mémoire disponible" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6639,7 +6635,7 @@ msgstr "Chemin à partir de la bibliothèque" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nom" @@ -6692,7 +6688,7 @@ msgid "No location selected" msgstr "Aucun emplacement sélectionné" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Mauvais emplacement" @@ -6959,50 +6955,50 @@ msgstr "Rechercher/Remplacer" msgid "Working" msgstr "En cours" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minuscule" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Majuscule" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Casse du titre" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Correspondance de caractère" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Expression régulière" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Remplacer le champ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Ajouter initialement au champ" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Ajouter au champs" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Edite les informations des métadonnées pour %d livres" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Livre %d :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -7010,7 +7006,7 @@ msgid "" "character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -7027,7 +7023,7 @@ msgstr "" "n'est pas cochée, le texte correspondra à la fois aux majuscules et aux " "minuscules" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -7054,35 +7050,35 @@ msgstr "" "plus d'informations sur les expressions régulières en python, et en " "particulier la fonction 'sub'." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" "Vous devez préciser uen destination quand la source est un champ mixte" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Recherche/Remplacement erroné" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "La clé auteur ne peut être une chaine vide. Le livre dont le titre est %s " "n'a pas été traité" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" "Le titre ne peut être une chaîne vide. Le livre dont le titre est %s n'a pas " "été traité" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Motif de recherche erroné : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7090,19 +7086,19 @@ msgstr "" "Applique les changements à %d livres.\n" "Phase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Editer les informations sur les Métadonnées" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Effectuer un tri a&utomatique par auteur" -#: /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:338 msgid "Author s&ort: " msgstr "&Tri par auteur : " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7110,64 +7106,64 @@ msgstr "" "Définit comment l'auteur de ce livre doit être classé. Par exemple, Charles " "Dickens peut être classé comme Dickens, Charles." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Note :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Note de ce livre. de 0 à 5 étoiles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Aucune modification" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " étoiles" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Ajouter des &étiquettes : " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Ouvre l'éditeur de mots-clefs" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Supprime les étiquettes :" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Liste d'étiquettes séparées par des virgules à supprimer des livres. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Cocher cette cas pour supprimer toutes les étiquettes des livres." -#: /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 msgid "Remove all" msgstr "Tout supprimer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Si cette case n'est pas cochée, les séries seront effacées" -#: /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:358 msgid "Clear series" msgstr "Effacer les séries" -#: /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:359 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" @@ -7182,11 +7178,11 @@ msgstr "" "livre B,\n" "le livre A aura le numéro de série 1 et le livre B le numéro 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Numérote automatiquement les livres dans ces séries" -#: /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:364 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" @@ -7198,15 +7194,15 @@ msgstr "" "Calibre \n" "que la numérotation doit démarrer à partir de la valeur de la case" -#: /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:368 msgid "Remove &format:" msgstr "Supprimer le &format :" -#: /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:369 msgid "&Swap title and author" msgstr "&Intervertir le titre et l'auteur" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7216,11 +7212,11 @@ msgstr "" "sont cochés,\n" "le titre et l'auteur sont échangés avant que la case titre ne soit remplie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Modifier titre en case de titre" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7230,35 +7226,35 @@ msgstr "" "\n" "Toute conversion future de ces livres utilisera les paramètres par défaut." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "" "Supprimer les paramètres de conversion &enregistrés pour les livres " "sélectionnés" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Metadonnées de &base" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "Metadonnées &personnalisées" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "&Champs de recherche :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Le nom du champ dans lequel va être effectué la recherche" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Mode de recherche :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7266,11 +7262,11 @@ msgstr "" "Choisissez si vous utilisez la recherche texte basique ou la recherche " "avancée par expression régulière" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Rechercher :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7278,7 +7274,7 @@ msgstr "" "Entrez le terme que vous recherchez, soit du texte simple, soit une " "expression régulière, en fonction du mode" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7286,15 +7282,15 @@ msgstr "" "Cochez cette case si la recherche doit respecter les majuscules et les " "minuscules. Décochez là si la casse doit être ignorée." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Sensible à la casse" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "Re&mplacer par :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7302,11 +7298,11 @@ msgstr "" "Le texte de remplacement. Le texte correspondant à la recherche va être " "remplacé par cette chaîne." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Appliquer la fonction après un remplacement :" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7318,11 +7314,11 @@ msgstr "" "entier est traité. En mode expression régulière, seule texte coorespondant à " "la recherche est traité" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "Champ de &destination :" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7330,16 +7326,16 @@ msgstr "" "Le champ de destination dans lequel le texte va être copié après avoir " "effectué tous les remplacements. Si vide, le champ source est utilisé." -#: /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:394 msgid "Mode:" msgstr "Mode :" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "" "Précise comment le texte devrait être copié dans la destination sélectionnée." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7349,23 +7345,23 @@ msgstr "" "de dialogue indique si une virgule\n" "doit être ajoutée ou non entre le texte original et le texte inséré" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "utilise une virgule" -#: /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:399 msgid "Test &text" msgstr "&Texte de test" -#: /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:400 msgid "Test re&sult" msgstr "Ré&sultat de test" -#: /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:401 msgid "Your test:" msgstr "Votre test :" -#: /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:402 msgid "&Search and replace" msgstr "Rechercher et remplacer" @@ -7661,20 +7657,21 @@ msgstr "Mot de passe nécessaire" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Nom d'&utilisateur :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "Mot de &passe :" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Montrer le mot de passe" @@ -8689,7 +8686,7 @@ msgid "Show books in the main memory of the device" msgstr "Afficher les livres dans mémoire principale de l'appareil" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Carte A" @@ -8698,7 +8695,7 @@ msgid "Show books in storage card A" msgstr "Afficher les livres dans la carte mémoire A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Carte B" @@ -8902,12 +8899,12 @@ msgid "LRF Viewer toolbar" msgstr "Barre d'outil pour l'afficheur LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Page suivante" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Page précédente" @@ -8951,7 +8948,7 @@ msgid "Do not check for updates" msgstr "Ne pas vérifier les mises à jour" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Bibliothèque Calibre" @@ -9093,37 +9090,37 @@ msgstr "Le livre n'a ni titre ni ISBN" msgid "No matches found for this book" msgstr "Aucune correspondance pour ce livre" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Echec du téléchargement des métadonnées" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "couverture" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Téléchargé" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Echec de l'obtention de" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s pour : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Terminé" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Métadonnées télécargées avec succès pour %d livres sur %d" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Détails" @@ -10093,7 +10090,7 @@ msgstr "" "de l'interface de l'appareil dans Préférences->Avancé->Plugins" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "A échoué lors du démarrage du serveur de contenu" @@ -10313,7 +10310,7 @@ msgstr "Réglages a&ctuels" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Trouver" @@ -10464,7 +10461,7 @@ msgstr "" "Etes-vous sûr?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Recherches" @@ -10558,15 +10555,15 @@ msgstr "" "Les fichiers suivants ont déjà été convertis au format %s. Souhaitez-vous " "les reconvertir ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Montrer" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Donner pour supporter Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Ejecter l'appareil connecté" @@ -10574,12 +10571,12 @@ msgstr "&Ejecter l'appareil connecté" msgid "Calibre Quick Start Guide" msgstr "Guide De Démarrage Rapide Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Erreur lors de la conversion" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10588,15 +10585,15 @@ msgstr "" "href=\"%s\">DRM. Vous devez d'abord enlever les DRM avec des outils " "tiers." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Recette désactivée" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Échoué" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10606,11 +10603,11 @@ msgstr "" "le monde. Si vous le trouvez utile, vous pouvez donner pour soutenir son " "développement. Vos donations aident Calibre à continuer à se développer." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Il y a des travaux actifs. Voulez-vous vraiment finir ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10621,11 +10618,11 @@ msgstr "" "l'appareil.
\n" " Êtes-vous sûr de vouloir quitter ?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "ATTENTION : Travaux actifs" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10870,36 +10867,36 @@ msgstr "La taille de police monospace en px" msgid "The standard font type" msgstr "Le type de police standard" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Rechercher dans le dictionnaire" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Aller vers..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Section suivante" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Section précédente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Début du document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Fin du document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Début de la section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Fin de la section" @@ -11170,7 +11167,7 @@ msgstr "Masquer" msgid "Toggle" msgstr "Basculer" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11181,7 +11178,7 @@ msgstr "" "votre appareil. Pour pouvoir le faire, vous devez démarrer le serveur de " "contenu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11189,7 +11186,7 @@ msgstr "" "Rappelez-vous de laisser Calibre fonctionner car le serveur ne fonctionne " "que lorsque Calibre fonctionne." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11199,20 +11196,20 @@ msgstr "" "WordPlayer. Ici nomhote doit être le nom d'hôte complet ou l'adresse IP de " "l'ordinateur où Calibre est démarré." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Déplace la bibliothèque..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Le déplacement de la bibliothèque a échoué." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Base de données incorrecte" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11220,22 +11217,22 @@ msgstr "" "

Une bibliothèque incorrecte existe à %s, la supprimer avant d'essayer de " "déplacer la bibliothèque existante.
Erreur : %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Impossible de déplacer la bibliothèque" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Sélectionner l'emplacement pour les livres" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Vous devez choisir un dossier vide pour la bibliothèque calibre. %s n'est " "pas vide." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "assistant de bienvenue" @@ -11342,50 +11339,73 @@ msgstr "" "emplacement. Si une bibliothèque Calibre existe déjà à cet emplacement, " "Calibre basculera pour pouvoir l'utiliser." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Utilise : %s:%s@%s:%s et l'encryptage %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Envoi..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Le courrier a été envoyé avec succès" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Termine le paramétrage de gmail" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"N'oublier pas de saisir votre nom d'utilisateur et mot de passe gmail. Vous " -"pouvez créer un compte gmail gratuit à http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Mauvaise configuration" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Vous devez indiquer l'adresse email 'De'" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Vous devez indiquer le nom d'utilisateur et le mot de passe pour le serveur " "de mail." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Envoyer l'email &de :" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Ce qui sera présent dans le champ De : des emails envoyés par " "Calibre.
Indiquer ici votre adresse email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11401,50 +11421,50 @@ msgstr "" "

Un serveur d'email est utile si le service auquel vous envoyez un email " "ne les accepte que venant de services réputés" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Serveur de messagerie" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "Calibre peut optionnellement utiliser un serveur pour envoyer les " "emails" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "Nom d'&hôte :" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Le nom d'hôte de votre serveur de messagerie. Par ex. smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port :" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "Le port d'écoute de votre serveur de messagerie. Par défault : 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Votre nom d'utilisateur pour le serveur de messagerie" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Votre mot de passe pour le serveur de messagerie" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Visualiser" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Cryptage :" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11452,24 +11472,28 @@ msgstr "" "Utiliser le cryptage TLS lors de la connexion au serveur de messagerie. " "Cette option est la plus utilisée." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" "Utiliser le cryptage SSL lors de la connexion au serveur de messagerie." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Utiliser Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Tester l'email" @@ -11536,7 +11560,7 @@ msgstr "vierge" msgid "empty" msgstr "Vide" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11550,7 +11574,7 @@ msgstr "" "Par défaut : '%%default'\n" "S'applique au formats : CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11562,7 +11586,7 @@ msgstr "" "Défaut : '%default'\n" "S'applique au formats : CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11576,7 +11600,7 @@ msgstr "" "Par défaut : '%%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11588,7 +11612,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11600,7 +11624,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11615,7 +11639,7 @@ msgstr "" "Par défaut : '%%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11627,7 +11651,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11639,7 +11663,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11651,7 +11675,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique au format : BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11661,7 +11685,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11675,7 +11699,7 @@ msgstr "" "Par défaut : '%default'None\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11686,7 +11710,7 @@ msgstr "" "'[]'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11701,7 +11725,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11711,7 +11735,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11721,7 +11745,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11731,7 +11755,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11742,7 +11766,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub et MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11756,7 +11780,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11772,7 +11796,7 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11782,6 +11806,13 @@ msgstr "" "Par défaut : '%default'\n" "S'applique aux formats : ePub, MOBI" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Titres incorrects" @@ -12518,35 +12549,35 @@ msgstr "" "L'étiquette ne doit contenir que des minuscules, des chiffres et des " "underscores (tirets bas), et commencer par une lettre" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "La note moyenne de %sest %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Principal" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "

Migre l'ancienne base vers la bibliothèque dans %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Copie %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Compacte la base" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Vérifie l'intégrité SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Vérifie si des fichiers sont manquants." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Id vérifié" @@ -12772,130 +12803,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" -"Mot de passe pour accéder à la bibliothèque Calibre. Le nom d'utilisateur " -"est " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Chargement, veuillez patientez..." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Premier" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Dernier" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Précédent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Suivant" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Naviguer dans %d livres" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Note moyenne" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s : %.1f étoile(s)" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d étoile(s)" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularité" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Classement par" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "bibliothèque" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "accueil" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Le plus récent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Tous les livres" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Naviguer dans les livres par:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Choisissez une catégorie pour naviguer par :" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Navigation par" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Haut" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "dans" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Livres en" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Autres formats" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Lire %s dans le format %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Obtenir" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Lien permanent" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Un lien permanent vers ce livre" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Ce livre a été supprimé" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "dans la recherche" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Livres correspondants" @@ -13225,7 +13255,7 @@ msgstr "Impossible d'activer une session SSH : " msgid "Failed to authenticate with server: %s" msgstr "Impossible de s'authentifier auprès du server : %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Contrôler l'envoi d'email" @@ -15306,6 +15336,9 @@ msgstr "Ne pas télécharger les feuilles de style CSS." #~ "Impossible d'envoyer par email les livres suivants car aucun format " #~ "convenable n'a été trouvé :
    %s
" +#~ msgid "Finish gmail setup" +#~ msgstr "Termine le paramétrage de gmail" + #~ msgid "Dont forget to enter your gmail username and password" #~ msgstr "" #~ "N'oubliez pas d'entrer votre nom d'utilisateur et votre mot de passe gmail" @@ -15819,6 +15852,13 @@ msgstr "Ne pas télécharger les feuilles de style CSS." #~ msgid "English (IND)" #~ msgstr "Anglais (IND)" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "N'oublier pas de saisir votre nom d'utilisateur et mot de passe gmail. Vous " +#~ "pouvez créer un compte gmail gratuit à http://gmail.com" + #~ msgid "" #~ "\n" @@ -15897,6 +15937,14 @@ msgstr "Ne pas télécharger les feuilles de style CSS." #~ msgid "Do not add a blank line between paragraphs." #~ msgstr "Ne pas ajouter une ligne blanche entre les paragraphes" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Longueur moyenne de ligne pour les sauts de lignes si le HTML provient d'une " +#~ "conversion précédente et partielle d'un fichier PDF. Par défaut : %default " +#~ "(qui désactivera cela)." + #~ msgid "TabWidget" #~ msgstr "Widget avec onglet" @@ -16309,6 +16357,11 @@ msgstr "Ne pas télécharger les feuilles de style CSS." #~ msgid "Side bar" #~ msgstr "Volet" +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "" +#~ "Mot de passe pour accéder à la bibliothèque Calibre. Le nom d'utilisateur " +#~ "est " + #~ msgid "" #~ "[options]\n" #~ "\n" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index f98da72b60..6b150cae4c 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-17 13:47+0000\n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:41+0000\n" "Last-Translator: Antón Méixome \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-18 04:45+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:04+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Non facer nada" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,45 +267,45 @@ msgstr "Define os metadatos nos ficheiros %s" msgid "Set metadata from %s files" msgstr "Define os metadatos desde os ficheiros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Aparencia e comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Axuste a aparencia e comportamento da interface do Calibre para que se " "adapte aos seus gustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Cambiar o modo en que se comporta o Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Engadir as súas propias columnas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Engadir/retirar as columnas propias da lista de libros do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personalizar a barra de ferramentas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -313,60 +313,60 @@ msgstr "" "Personalizar as barras de ferramentas e os menús de contexto, cambiando as " "accións que estarán dispoñíbeis en cada un" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Opcións de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversión" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Estabelecer as opcións de conversión específicas para cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Opcións comúns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Estabelecer as opcións de conversión comúns para todos os formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Opcións de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "" "Estabelece as opcións específicas de conversión para cada formato de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Adición de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importar/exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla o modo como Calibre le os metadatos dos ficheiros na proceso de " "adición de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Gardado de libros no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -374,33 +374,33 @@ msgstr "" "Controla o modo como Calibre exporta ficheiros da súa base de datos no " "disco no proceso de Gardado no disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Envío de libros a dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controla cando Calibre transfere os ficheiros ao seu lector de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Plugboards de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Cambiar campos de metadatos antes do gardado/envío" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Compartición de libros por correo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Compartición" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -408,11 +408,11 @@ msgstr "" "Configura a compartición de libros por correo electrónico. Pódese usar para " "enviar automticamente as noticias descargadas aos seus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Compartición na rede" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -421,33 +421,33 @@ msgstr "" "biblioteca do Calibre en calquera lugar, con calquera dispositivo, a través " "da Internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Complementos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avanzado" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Engadir/eliminar/configurar diversas funcións do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Axustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Axuste fino de como se comporta o Calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Miscelánea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Configuración miscelánea avanzada" @@ -777,18 +777,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catálogo" @@ -814,6 +814,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Comunicarse co lector de libros electrónico Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Comunicar co lector EB600" @@ -2118,15 +2122,6 @@ msgstr "" "que está facendo, xa que pode ocasionar varios efectos desagradábeis no " "resto do proceso de conversión." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Lonxitude de liña media para a división de liñas se o HTML vén dunha " -"conversión parcial previa dun ficheiro PDF. O valor predefinido é %default, " -"que desactiva esta opción." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "CSS utilizado para a saída en vez do arquivo predeterminado" @@ -2522,7 +2517,7 @@ msgstr "Comentarios" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiquetas" @@ -2945,7 +2940,7 @@ msgstr "Texto principal" msgid "%s format books are not supported" msgstr "O formato de libros %s non está soportado" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Libro %s de %s" @@ -2956,7 +2951,7 @@ msgstr "Opcións da xeración HTM TOC" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Avaliación" @@ -3316,7 +3311,7 @@ msgstr "" "Especificar a codificación de caracteres do documento de saída. O por " "omisión é cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3561,7 +3556,7 @@ msgid "Disable UI animations" msgstr "Desactivar as animacións UI" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copiado" @@ -3573,7 +3568,7 @@ msgstr "Copiar" msgid "Copy to Clipboard" msgstr "Copiar no Portapapeis" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Escoller os Ficheiros" @@ -3739,7 +3734,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Engadir libros á biblioteca do Calibre desde o dispositivo conectado" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Obter anotacións (experimental)" @@ -3836,7 +3831,7 @@ msgid "Checking database integrity" msgstr "A comprobar a integridade da base de datos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3864,7 +3859,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d libros" @@ -4077,9 +4072,9 @@ msgid "Could not copy books: " msgstr "No se puideron copiar estes libros: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Fallou" @@ -4140,14 +4135,14 @@ msgid "Main memory" msgstr "Memoria principal" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Tarxeta de almacenaxe A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Tarxeta de almacenaxe B" @@ -4292,7 +4287,7 @@ msgid "covers" msgstr "capas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadatps" @@ -4480,7 +4475,7 @@ msgid "Click the show details button to see which ones." msgstr "Prema o botón de amosar detalles para os ver." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Amosar os detalles do libro" @@ -4622,7 +4617,7 @@ msgid "The specified directory could not be processed." msgstr "Non se puido procesar o directorio especificado." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Sen libros" @@ -4921,7 +4916,7 @@ msgstr "saída" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4964,7 +4959,7 @@ msgstr "saída" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulario" @@ -5051,24 +5046,24 @@ msgstr "Opcións de CSV/XML" msgid "E-book options" msgstr "Opcións do libro electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Etiqueta 'non incluír este libro':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Etiqueta 'marcar este libro como lido':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Prefixo adicional para notas:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Expresión regular que describe as etiquetas que se excluirán como xéneros:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5082,22 +5077,26 @@ msgstr "" "- Unha expresión con só un punto exclúe todas as etiquetas de xénero, o que " "xera a Sección Xéneros" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Incluír a sección 'títulos'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Incluír a sección 'engadidos recentemente'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Ordenar os números como texto" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Incluír a sección \"Serie\"" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Modelo para catalog.ui" @@ -5603,7 +5602,7 @@ msgid "Change the title of this book" msgstr "Mudar o título deste libro" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autores/as: " @@ -5621,7 +5620,7 @@ msgstr "" "vírgulas" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Editorial: " @@ -5632,7 +5631,7 @@ msgid "Ta&gs: " msgstr "&Etiquetas " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5643,7 +5642,7 @@ msgstr "" "estar separadas por vírgula." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5651,8 +5650,8 @@ msgstr "&Serie:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6175,7 +6174,7 @@ msgid "Automatically number books" msgstr "Numerar automaticamente os libros" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Forzar números para comezar con " @@ -6191,97 +6190,103 @@ msgstr "etiquetas para engadir" msgid "tags to remove" msgstr "etiquetas para borrar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Non hai detalles dispoñíbeis" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "O dispositivo non está conectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Obter a información do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Obter unha relación de libros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Obter as anotacións do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Enviar os metadatos ao dispostivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Enviar as coleccións ao dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Cargar %d libros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Borrar libros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Descargar libros do dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Ver libro no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Establecer a acción de enviar ao dispositivo por defecto" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Enviar á memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Enviar á tarxeta de almacenaxe A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Enviar á tarxeta de almacenaxe B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Enviar e borrar da biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Extraer dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Erro ao conectar co dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Non hai formatos axeitados" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Escoller o cartafol para abrir co como dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Erro ao conectar co dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6289,127 +6294,118 @@ msgstr "" "Produciuse un erro temporal na comunicación co dispositivo. Desconecte e " "volva conectar o dispositovo e/ou reinícieo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "seleccionado para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Elixa formato para enviar ao dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Sen dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Non se pode enviar: non hai ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Sen tarxeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Non de pode enviar: o dispositivo non ten tarxeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Libro electrónico:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "O libro electrónico está anexo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "por" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "no formato %s." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Enviando correo a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Non hai formatos axeitados" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Desexa converter automaticamente os seguintes libros antes de os enviar por " "correo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Non se puideron enviar por correo os libros seguintes xa que non se achou ou " "formato correcto." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Fallou ao enviar por correo os libros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Fallou ao enviar por correo os libros seguintes:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Enviar por correo:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Novas:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Anexo está o" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Enviar novas a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Desexa converter os libros seguintes antes de os enviar ao dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "A enviar catálogos ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "A enviar novas ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "A enviar libros ao dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6418,11 +6414,11 @@ msgstr "" "atoparon formatos compatíbeis. Converta o ou os libros a un formato " "compatíbel co dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Non hai espazo no dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6559,7 +6555,7 @@ msgstr "Camiño da biblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nome" @@ -6612,7 +6608,7 @@ msgid "No location selected" msgstr "Non seleccionou unha localización" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Localización incorrecta" @@ -6873,50 +6869,50 @@ msgstr "Buscar/Substituír" msgid "Working" msgstr "Traballando" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Maiúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Formato de título (todas as iniciais en maiúscula)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Coincidencia de carácter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Expresión regular" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Substituír campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Antepoñer ao campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Anexar ao campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "A editar a metainformación para %d libros" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Libro %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6924,7 +6920,7 @@ msgid "" "character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6941,7 +6937,7 @@ msgstr "" "exactamente. Se está desactivada, encontraranse coincidencias tanto con " "maiúsculas coma con minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6967,34 +6963,34 @@ msgstr "" "información sobre as expresións regulares de Python, e en particular sobre a " "función \"sub\"." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Debe especificar un destino cando a orixe é un campo de composición" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Buscar/substituir no vé correcto" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" "A cadea Autores non se pode deixar en branco. O libro co título %s non foi " "procesado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" "O título non se pode deixar en branco. O libro co título %s non foi " "procesado" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "O patrón de busca non é correcto: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7002,19 +6998,19 @@ msgstr "" "Aplicando cambios a %d libros.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Editar metainformación" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Estabelecer a&utomaticamente a orde por autor" -#: /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:338 msgid "Author s&ort: " msgstr "Orde por aut&oría: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7022,64 +7018,64 @@ msgstr "" "Especificar como ordenar a autoría deste libro. Por exemplo, Rosalía de " "Castro pode ordenarse como Castro, Rosalía de." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Valoración" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Valoración deste libro. 0-5 estrelas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Sen mudanzas" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " estrelas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Engadir esti&quetas " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Abrir o editor de etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Quitar etiquetas:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Listaxe de etiquetas, separadas por vírgula, para eliminar dos libros. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Marque esta caixa para eliminar todas as etiquetas dos libros." -#: /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 msgid "Remove all" msgstr "Eliminar todo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Se está marcado, as series serán desbotadas" -#: /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:358 msgid "Clear series" msgstr "Desbotar series" -#: /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:359 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" @@ -7092,11 +7088,11 @@ msgstr "" "o libro A e logo o B, o libro A será o número 1 na serie e o libro\n" "B será o número 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Numerar automaticamente os libros nesta serie" -#: /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:364 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" @@ -7107,26 +7103,26 @@ msgstr "" "a serie. Se marca esta caixa Calibre comezará a numeración a partir do valor " "do cadro." -#: /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:368 msgid "Remove &format:" msgstr "Quitar &formato:" -#: /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:369 msgid "&Swap title and author" msgstr "&Intercambiar título e autoría" -#: /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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" 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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7137,73 +7133,73 @@ msgstr "" "\n" "A conversión futura destes libros empregará a preestablecida." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Borrar a configuración de conversión para os libros &seleccionados" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Metadatos &básicos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "Metadatos &personalizados" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /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:379 +#: /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:380 +#: /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:381 +#: /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:382 +#: /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:383 +#: /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:384 +#: /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:385 +#: /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:386 +#: /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:387 +#: /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" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7211,48 +7207,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" 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:395 msgid "Specify how the text should be copied into the destination." 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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" 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:399 msgid "Test &text" 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:400 msgid "Test re&sult" 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:401 msgid "Your test:" 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:402 msgid "&Search and replace" msgstr "" @@ -7526,20 +7522,21 @@ msgstr "Precísase contrasinal" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Nome de &usuario:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Contrasinal" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Amosar contrasinal" @@ -8534,7 +8531,7 @@ msgid "Show books in the main memory of the device" msgstr "Amosar os libros na memoria principal do dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Tarxeta A" @@ -8543,7 +8540,7 @@ msgid "Show books in storage card A" msgstr "Amosar os libros almacenados na tarxeta A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Tarxeta B" @@ -8745,12 +8742,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de ferramentas do visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Páxina seguinte" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Páxina anterior" @@ -8794,7 +8791,7 @@ msgid "Do not check for updates" msgstr "Non comprobar se hai actualizacións" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Biblioteca do Calibre" @@ -8932,37 +8929,37 @@ msgstr "O libro non ten título nin ISBN" msgid "No matches found for this book" msgstr "Non se encontraron resultados para este libro" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Feito" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9852,7 +9849,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Fallou ao iniciar o servidor de contido" @@ -10057,7 +10054,7 @@ msgstr "Axustes a&ctuais" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Buscar" @@ -10200,7 +10197,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Buscas" @@ -10289,15 +10286,15 @@ msgid "" msgstr "" "Os seguintes libros xa foron convertidos ao formato %s. Desexa reconvertelos?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Restabelecer" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Doar para axudar ao calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "" @@ -10305,26 +10302,26 @@ msgstr "" 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:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 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:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Fallou" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10335,22 +10332,22 @@ msgstr "" "desenvolvemento. A súa contribución axudará a continuar co desenvolvemento " "do calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hai traballos en activo. Está seguro de querer saír?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 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:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "Aviso: traballos en activo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10586,36 +10583,36 @@ msgstr "" msgid "The standard font type" msgstr "O tipo de letra estándar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Buscar no dicionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Sección seguinte" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Sección anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "" @@ -10876,59 +10873,59 @@ msgstr "" msgid "Toggle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "" @@ -11015,121 +11012,150 @@ msgid "" "will switch to using it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Configuración errada" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Enviar correos &desde:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Servidor de Correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "Nome do &host:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Porto:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "O seu nome de usuario/a no servidor de correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "O seu contrasinal no servidor de correo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Amosar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Cifrado:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Usar Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Probar o correo" @@ -11192,7 +11218,7 @@ msgstr "" msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11201,7 +11227,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11209,7 +11235,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11218,7 +11244,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11226,7 +11252,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11234,7 +11260,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11243,7 +11269,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11251,7 +11277,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11259,7 +11285,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11267,14 +11293,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11283,14 +11309,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11299,35 +11325,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11336,7 +11362,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11346,13 +11372,20 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -11894,35 +11927,35 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 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:2334 msgid "Copying %s" msgstr "A copiar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "A compactar a base de datos" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "A comprobar a integridade SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "A comprobar os ficheiros perdidos." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "id comprobada" @@ -12112,128 +12145,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "" @@ -12550,7 +12584,7 @@ msgstr "" msgid "Failed to authenticate with server: %s" msgstr "Erro ao se autenticar no servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Controlar o envío de correo" @@ -12864,6 +12898,14 @@ msgstr "Non descargar follas de estilo CSS" #~ "xustificado ou non en realidade, depende de se o formato de libro " #~ "electrónico e o dispositivo de lectura admiten o texto xustificado." +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Lonxitude de liña media para a división de liñas se o HTML vén dunha " +#~ "conversión parcial previa dun ficheiro PDF. O valor predefinido é %default, " +#~ "que desactiva esta opción." + #~ msgid "Communicate with iBooks through iTunes." #~ msgstr "Comunicar con iBooks a través do iTunes." diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index 2310e2e40c..e6a6a95d83 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-15 12:15+0000\n" -"Last-Translator: MeltingShell \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 22:33+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-11-16 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:04+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" @@ -34,7 +34,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -43,8 +43,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -112,10 +112,10 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -124,10 +124,10 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -140,14 +140,14 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -270,45 +270,45 @@ msgstr "Imposta i metadati nei file %s" msgid "Set metadata from %s files" msgstr "imposta metadati da %s file" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Aspetto" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interfaccia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Modifica l'aspetto dell'interfaccia di calibre secondo i propri gusti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Cambia il comportamento di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Aggiungi colonne personalizzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Aggiunge/Rimuove colonne personalizzate dalla lista dei libri di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personalizza la barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -316,59 +316,59 @@ msgstr "" "Personalizza la barra degli strumenti e i menu contestuali, cambiando le " "azioni disponibili in ognuno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Opzioni di digitazione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di input" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Opzioni comuni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Imposta le opzioni di conversione comuni a tutti i formati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Opzioni di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Aggiunta libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importa/Esporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlla come calibre legge i metadati dai libri quando vengono aggiunti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Salvataggio libri su disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -376,32 +376,32 @@ msgstr "" "Controlla come calibre esporta i file dal suo database al disco quando si " "usa «Salva su disco»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Invio libri ai dispositivi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controlla come calibre trasferisce i file al lettore di ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Cambiare i campi dei metadati prima di salvare/inviare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Condivisione libri via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Condivisione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -409,11 +409,11 @@ msgstr "" "Imposta la condivisione dei libri via email. Può essere usato per inviare " "automaticamente le news scaricate ai dispositivi." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Condividi sulla rete" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -421,34 +421,34 @@ msgstr "" "Imposta il Server di Contenuti calibre che da accesso alla biblioteca di " "calibre da ogni luogo, su ogni dispositivo, su internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avanzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Aggiungi/rimuovi/personalizza varie opzioni delle funzionalità di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Ottimizzazioni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Modifica in dettaglio come si comporta calibre in vari contesti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Varie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Configurazione avanzata varia" @@ -778,18 +778,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Notizie" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catalogo" @@ -815,6 +815,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Comunica con il lettore Cybook Gen 3 / Opus." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Comunica con il lettore EB600." @@ -2129,16 +2133,6 @@ msgstr "" "solamente se si è sicuri di quello che si sta facendo poiché potrebbe " "causare effetti collaterali nella sequenza di conversione." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Valore medio della lunghezza di linea per interrompere righe quando il " -"codice HTML è generato da una precedente conversione parziale da un " -"documento PDF. %default è il valore predefinito per disabilitare questa " -"funzione." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "File CSS usato per l'output invece del file predefinito" @@ -2541,7 +2535,7 @@ msgstr "Commenti" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Tag" @@ -2960,7 +2954,7 @@ msgstr "Corpo del testo" msgid "%s format books are not supported" msgstr "I libri nel formato %s non sono supportati" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Libro %s di %s" @@ -2971,7 +2965,7 @@ msgstr "Opzioni per creazione della TOC (indice contenuti) da HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Valutazione" @@ -3342,7 +3336,7 @@ msgstr "" "Specifica la codifica dei caratteri nel documento di output. Il valore " "predefinito è CP1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3588,7 +3582,7 @@ msgid "Disable UI animations" msgstr "Disattiva animazioni interfaccia" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copiato" @@ -3600,7 +3594,7 @@ msgstr "Copia" msgid "Copy to Clipboard" msgstr "Copia negli appunti" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Seleziona documenti" @@ -3762,7 +3756,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Aggiungi libri alla biblioteca calibre dal dispositivo connesso" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Preleva annotazioni (sperimentale)" @@ -3859,7 +3853,7 @@ msgid "Checking database integrity" msgstr "Controllo d'integrità del database" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3887,7 +3881,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d libri" @@ -4101,9 +4095,9 @@ msgid "Could not copy books: " msgstr "Impossibile copiare i libri: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Fallito" @@ -4164,14 +4158,14 @@ msgid "Main memory" msgstr "Memoria principale" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Scheda di memoria A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Scheda di memoria B" @@ -4316,7 +4310,7 @@ msgid "covers" msgstr "copertine" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadati" @@ -4496,7 +4490,7 @@ msgid "Click the show details button to see which ones." msgstr "Fare clic sul pulsante dettagli per vedere quali." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Visualizza i dettagli del libro" @@ -4638,7 +4632,7 @@ msgid "The specified directory could not be processed." msgstr "Impossibile elaborare la cartella indicata." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Nessun libro." @@ -4936,7 +4930,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4979,7 +4973,7 @@ msgstr "output" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formato" @@ -5066,23 +5060,23 @@ msgstr "Opzioni CSV/XML" msgid "E-book options" msgstr "Opzioni per il libro elettronico" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Tag per 'Non usare questo libro':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Tag per 'Marca questo libro come letto':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Tag per note aggiuntive:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "Espressione regolare per definire i tag da escludere come generi:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5096,22 +5090,26 @@ msgstr "" "- Un modello con un punto singolo esclude tutti i tag di genere, generando " "una sezione senza genere" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Includi la sezione 'Titolo'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Includi Sezione 'Ultimi Aggiunti'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Ordina i numeri come testo" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Includi sezione 'Serie'" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Esempio paginazione per il catalog.ui" @@ -5618,7 +5616,7 @@ msgid "Change the title of this book" msgstr "Cambia il titolo di questo libro" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autori: " @@ -5636,7 +5634,7 @@ msgstr "" "una virgola" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Editore: " @@ -5647,7 +5645,7 @@ msgid "Ta&gs: " msgstr "T&ag: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5658,7 +5656,7 @@ msgstr "" "virgole." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5666,8 +5664,8 @@ msgstr "&Serie:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6188,7 +6186,7 @@ msgid "Automatically number books" msgstr "Numera i libri automaticamente" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Forza i numeri ad iniziare con " @@ -6204,97 +6202,103 @@ msgstr "tag da aggiungere" msgid "tags to remove" msgstr "tag da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nessun dettaglio disponibile." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Dispositivo non più collegato." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Recupera informazioni sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Recupera la lista dei libri del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Ricevi annotazioni dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Invia metadati al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Invia collezioni al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Invia %d libri al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Cancella i libri dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Scarica libri dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Visualizza libro sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Imposta azione predefinita di invio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Invia alla memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Invia alla scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Invia alla scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Invia formato specifico a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Invia ed elimina dalla biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Espelli dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Nessun formato adatto" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Selezionare la cartella da aprire come dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6302,127 +6306,118 @@ msgstr "" "Si è verificato un errore di comunicazione temporaneo col dispositivo. " "Disconnettere e riconnettere il dispositivo e/o riavviare." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " individuato." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "Selezione per l'invio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Selezionare il formato da inviare al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Nessun dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Impossibile inviare: nessun dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Nessuna scheda" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Impossibile inviare: il dispositivo non ha schede di memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Libro elettronico" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Troverete allegato il libro elettronico" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "di" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "nel formato %s" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Spedizione di un messaggio elettronico a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Nessun formato adatto" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Convertire automaticamente i libri selezionati prima di inviare con posta " "eletrronica?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Impossibile inviare i libri seguenti via email poiché non sono stati trovati " "formati adatti:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Impossibile inviare via email i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Impossibile inviare via email i seguenti libri:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Inviato per posta elettronica" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Notizie:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Allegato c'é" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Notizie inviate a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertire automaticamente i libri seguenti prima di inviarli al dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Inviando i cataloghi al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Invio delle notizie al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Invio dei libri al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6431,11 +6426,11 @@ msgstr "" "trovato un formato adeguato. È prima necessario convertire i libri in un " "formato supportato dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Spazio sul dispositivo insufficiente" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6576,7 +6571,7 @@ msgstr "Percorso della blblioteca" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nome" @@ -6629,7 +6624,7 @@ msgid "No location selected" msgstr "Nessuna posizione selezionata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Posizione non valida" @@ -6893,50 +6888,50 @@ msgstr "Cerca/Sostituisci" msgid "Working" msgstr "In esecuzione" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minuscole" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Maiuscole" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Caratteri per titolo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Corrispondenza carattere" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Espressione regolare" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Sostituisci campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Anteponi al campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Appendi al campo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Modifica metadati per %d libri" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Libro %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6949,7 +6944,7 @@ msgstr "" "procedere.

Cerca e sostituisce nei campi di testo usando la corrispondenza " "dei caratteri o le espressioni regolari. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6959,7 +6954,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6974,31 +6969,31 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" "È necessario specificare una destinazione se la sorgente è un campo complesso" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Cerca/sostituisci non validi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "Gli autori non possono essere lasciati vuoti. Libro %s non elaborato" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Il titolo non può essere lasciato vuoto. Libro %s non elaborato" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Il modello di ricerca non è valido: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7006,19 +7001,19 @@ msgstr "" "Appica modifiche a %d libri.\n" "Fase{0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Modifica metadati" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Imposta a&utomaticamente la Classificazione autore" -#: /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:338 msgid "Author s&ort: " msgstr "Author s&ort: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7027,63 +7022,63 @@ msgstr "" "esempio, Alessandro Manzoni deve essere classificato come Manzoni, " "Alessandro." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Valutazione:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Valutazione di questo libro. 0-5 stelle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Nessuna modifica" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " stelle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Aggiungi ta&gs: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Apri l'editor dei tag" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Rimuovi tag:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Lista separata da virgole dei tag da rimuovere dal libro " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Selezionare questa casella per eliminare tutti i tag dai libri." -#: /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 msgid "Remove all" msgstr "Rimuovi tutti" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Se selezionati, le serie verranno ripulite" -#: /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:358 msgid "Clear series" msgstr "Ripulisci serie" -#: /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:359 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" @@ -7091,11 +7086,11 @@ 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:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Numera automaticamente i libri in questa serie" -#: /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:364 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" @@ -7107,26 +7102,26 @@ msgstr "" "iniziare la numerazione\n" "partendo dal valore presente nel box." -#: /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:368 msgid "Remove &format:" msgstr "Cancella for&mato:" -#: /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:369 msgid "&Swap title and author" msgstr "&Scambia titolo e autore" -#: /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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Cambia il titolo al formato titolo" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7137,33 +7132,33 @@ msgstr "" "Per le prossime conversioni di questi libri verranno usate le impostazioni " "predefinite." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Elimina le impostazioni di &conversione per i libri selezionati" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "Metadati &principali" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "Metadati &aggiuntivi" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "&Campo di ricerca:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Il nome del campo per il quale vuoi effettuare la ricerca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Modalità ricerca:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7171,17 +7166,17 @@ msgstr "" "Scegli se utilizzare una corrispondenza di testo semplice o una " "corrispondenza di testo avanzata." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Cerca:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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:384 +#: /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" @@ -7190,15 +7185,15 @@ msgstr "" "esattamente i caratteri maiuscoli e minuscoli. De-seleziona per ignorare la " "corrispondenza." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Maiuscole/minuscole" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Sostituisci con:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7206,11 +7201,11 @@ msgstr "" "Il testo da sostituire. Il testo corrispondente dalla ricerca verrà " "sostituito con questa stringa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Applica funzione dopo sostituzione:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7218,48 +7213,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "Campo &destinazione:" -#: /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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" msgstr "Modalità:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Specifica come il testo deve essere copiato nella destinazione." -#: /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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "usa la virgola" -#: /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:399 msgid "Test &text" msgstr "&Testo di prova" -#: /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:400 msgid "Test re&sult" msgstr "&Risultato della prova" -#: /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:401 msgid "Your test:" msgstr "Il test:" -#: /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:402 msgid "&Search and replace" msgstr "&Cerca e sostituisce" @@ -7551,20 +7546,21 @@ msgstr "Password necessaria" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Nome utente:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Password:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Mostra password" @@ -8558,7 +8554,7 @@ msgid "Show books in the main memory of the device" msgstr "Mostra libri nella memoria principale del dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Scheda A" @@ -8567,7 +8563,7 @@ msgid "Show books in storage card A" msgstr "Mostra libri nella memory card A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Scheda B" @@ -8769,12 +8765,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra degli strumenti visualizzatore LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Pagina successiva" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Pagina precedente" @@ -8818,7 +8814,7 @@ msgid "Do not check for updates" msgstr "Non controllare gli aggiornamenti" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Biblioteca di calibre" @@ -8955,37 +8951,37 @@ msgstr "Il Libro non ha ne titolo ne ISBN" msgid "No matches found for this book" msgstr "Nessun risultato trovato per questo libro" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Scaricamento metadati fallito" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "copertina" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Scaricati" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Impossibile ottenere" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s per: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Completato" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Scaricamento dei metadati completato per %d libri su %d" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Dettagli" @@ -9905,7 +9901,7 @@ msgstr "" "dispositivo in «Preferenze->Avanzate->Plugins»" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti fallito" @@ -10123,7 +10119,7 @@ msgstr "Ottimizzazioni &attuali" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Cerca" @@ -10270,7 +10266,7 @@ msgstr "" "Sei sicuro?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Ricerche" @@ -10364,15 +10360,15 @@ msgstr "" "I libri nella lista sono già stati convertiti nel formato %s. Convertirli " "nuovamente?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Ripristina" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Donazione per sostenere Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Espelli dispositivo connesso" @@ -10380,12 +10376,12 @@ msgstr "&Espelli dispositivo connesso" msgid "Calibre Quick Start Guide" msgstr "Guida rapida di Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Errore di conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10394,15 +10390,15 @@ msgstr "" "href=\"%s\">DRM. È prima necessario rimuovere la DRM usando un altro " "prodotto." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Ricetta deattivata" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Operazione Fallita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10413,11 +10409,11 @@ msgstr "" "lo sviluppo. La tua donazione aiuterà a mantenere attivo lo sviluppo di " "calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Ci sono lavori attivi. Uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10428,11 +10424,11 @@ msgstr "" "sul dispositivo.
\n" " Interrompere comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "ATTENZIONE: Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10678,36 +10674,36 @@ msgstr "La dimensione dei caratteri a spaziatura fissa in px" msgid "The standard font type" msgstr "Il tipo di carattere predefinito" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "Cerca nel dizionario (&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Vai a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Sezione successiva" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Sezione precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Inizio documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Fine documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Inizio sezione" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Fine sezione" @@ -10978,7 +10974,7 @@ msgstr "Nascondi" msgid "Toggle" msgstr "Attiva/Disattiva" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10988,7 +10984,7 @@ msgstr "" "accedere alla collezione di libri calibre direttamente dal dispositivo. Per " "fare questo è necessario attivare il server di contenuti." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -10996,7 +10992,7 @@ msgstr "" "Ricordare di lasciare calibre aperto poiché il server funziona solamente " "quando calibre è avviato." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11007,20 +11003,20 @@ msgstr "" "un host valido o l'indirizzo IP del computer sul quale calibre è in " "esecuzione." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Spostamento della biblioteca in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Impossibile spostare la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Database non valido" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11028,22 +11024,22 @@ msgstr "" "

Una biblioteca non valida esiste già in %s, eliminarla prima di tentare " "di spostare la biblioteca esistente.
Errore: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Impossibile spostare la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Selezionare un percorso per i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Devi scegliere una cartella vuota per la biblioteca di calibre. %s non è " "vuota." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "Benvenuti nel wizard" @@ -11149,51 +11145,74 @@ msgstr "" "posizione. Se nella nuova posizione già esiste una biblioteca di calibre, " "calibre utilizzerà quest'ultima." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Si sta usando %s:%s@%s:%s e cifrature %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Spedizione in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Messaggio inviato con successo" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Configurazione di gmail completata" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Non dimenticate di immettere il vosto nome utente e password per gmail. É " -"possibile creare un account gratis sul sito http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Configurazione difettosa" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "" "É necessario specificare un indirizzo di posta elettronica come mittente" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "É necessario specificare un nome utente e password per il server di posta " "elettronica" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "&Mittente:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Questo sarà immesso nel campo Da: per le email inviate da " "calibre.
Specificare il proprio indirizzo email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11209,75 +11228,79 @@ msgstr "" "

Un server di posta è utile se il servizio al quale state mandando email " "accetta solamente posta elettronica da server di posta ben conosciuti." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Server di posta elettronica" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "calibre può opzionalmente usare un server per inviare la posta " "elettronica" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Hostname:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Il nome del server per la posta. Per esempio smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Porta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "La porta su cui il server di posta attende connessioni. Il valore " "predefinito è 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "I vostro nome utente sul server per la posta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "La vostra password sul server per la posta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Mostra" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Sicurezza" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "Utilizza" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" "Usa cifrature SSL quando ci si connette al server di posta elettronica." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Usa Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Verifica email" @@ -11344,7 +11367,7 @@ msgstr "vuota" msgid "empty" msgstr "vuoto" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11358,7 +11381,7 @@ msgstr "" "Valore predefinito: '%%default'\n" "Applicabile ai formati di output: CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11370,7 +11393,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: CSV, XML" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11384,7 +11407,7 @@ msgstr "" "Predefinito: '%%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11396,7 +11419,7 @@ msgstr "" "Predefinito: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11408,7 +11431,7 @@ msgstr "" "Predefinito: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11422,7 +11445,7 @@ msgstr "" "Predefinito: '%%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11434,7 +11457,7 @@ msgstr "" "Predefinita: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11446,7 +11469,7 @@ msgstr "" "Predefinito: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11458,7 +11481,7 @@ msgstr "" "Predefinito: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11468,7 +11491,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11482,7 +11505,7 @@ msgstr "" "Valore predefinito: '%default'Nessuno\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11493,7 +11516,7 @@ msgstr "" "'[]'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11508,7 +11531,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11518,7 +11541,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: epub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11528,7 +11551,7 @@ msgstr "" "Predefinito:'%default'\n" "Applicabile ai formati di output:ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11538,7 +11561,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11549,7 +11572,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11563,7 +11586,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11579,7 +11602,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11589,6 +11612,13 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Titoli non validi" @@ -12281,36 +12311,36 @@ msgstr "" "L'etichetta può contenere solo lettere minuscole, numeri e trattini bassi, e " "deve iniziare con una lettera" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sLa valutazione media è %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Principale" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Migrazione del vecchio database nella biblioteca in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Sto copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Compattazione database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Controllo di integrità SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Controllo per file mancanti" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "ID controllate" @@ -12537,129 +12567,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" -"Password per accedere alla propria biblioteca di calibre. Il nome utente è " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Sto caricando, attendere" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Prima" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Ultima" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Precedente" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Successiva" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Valutazione media" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f stelle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d stelle" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popolarità" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Ordina per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "libreria" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "home" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Più recenti" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Tutti i libri" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Sfoglia i libri per" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Selezionare una categoria in da sfogliare per:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Su" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Libri in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Altri formati" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Leggi %s nel formato %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Scarica" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Un collegamento permanente a questo libro" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Questo libro è stato cancellato" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "nella ricerca" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Libri corrispondenti" @@ -12985,7 +13015,7 @@ msgstr "Negoziazione della sessione SSH fallita: " msgid "Failed to authenticate with server: %s" msgstr "Autenticazione fallita col server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Controllo dell'invio delle email" @@ -14807,6 +14837,10 @@ msgstr "Non scaricare i fogli di stile CSS" #~ msgid "Could not initialize the fontconfig library" #~ msgstr "Impossibile inizializzare la biblioteca fontconfig" +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "" +#~ "Password per accedere alla propria biblioteca di calibre. Il nome utente è " + #~ msgid "Output:" #~ msgstr "File in uscita:" @@ -15018,6 +15052,13 @@ msgstr "Non scaricare i fogli di stile CSS" #~ "%s\n" #~ "disponibile" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Non dimenticate di immettere il vosto nome utente e password per gmail. É " +#~ "possibile creare un account gratis sul sito http://gmail.com" + #~ msgid "The author sort string" #~ msgstr "Stringa per ordinare gli autori" @@ -15287,6 +15328,9 @@ msgstr "Non scaricare i fogli di stile CSS" #~ msgid "Books located at" #~ msgstr "Libri presenti in" +#~ msgid "Finish gmail setup" +#~ msgstr "Configurazione di gmail completata" + #~ msgid "Lookup name" #~ msgstr "Parola chiave" @@ -15474,6 +15518,15 @@ msgstr "Non scaricare i fogli di stile CSS" #~ "I libri selezionati saranno cancellati permanentemente e i file " #~ "rimossi dal computer. Confermare?" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Valore medio della lunghezza di linea per interrompere righe quando il " +#~ "codice HTML è generato da una precedente conversione parziale da un " +#~ "documento PDF. %default è il valore predefinito per disabilitare questa " +#~ "funzione." + #~ msgid "" #~ "Scale used to determine the length at which a line should be unwrapped. " #~ "Valid values are a decimal between 0 and 1. The default is 0.5, this is the " diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 6afd6ed742..d5683e0c1e 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-16 08:41+0000\n" -"Last-Translator: Øyvind Øritsland \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:12+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-17 04:49+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Gjør absolutt ingenting" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,43 +267,43 @@ msgstr "Set metadata i %s filer" msgid "Set metadata from %s files" msgstr "Set metadata fra %s filer" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Utseende" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Brukergrensesnitt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Juster utseende for calibres brukergrensesnitt etter ditt ønske" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Atferd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Endrer måten calibre oppfører seg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Legg til dine egne kolonner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Legg til /fjern dine egne kolonner i calibres bokliste" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Tilpass verktøylinjen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -311,58 +311,58 @@ msgstr "" "Tilpass verktøylinjen og kontekstmenyer. Endringer med handlinger er " "tilgjengelig i hver" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Valg for inndata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "konvertering" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Angi spesifikke konverteringsalternativer for hvert inndata-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Vanlige valg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Angi felles konverteringsalternativer for alle formater" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Valg for utdata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Angi spesifikke konverteringsalternativer for hvert utdata-format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Legger til bøker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Improter/Exporter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrollerer hvordan calibre leser metadata fra filer når den legger til " "bøker" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Lagrer bøker til disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -370,32 +370,32 @@ msgstr "" "Kontrollerer hvordan calibre eksporterer filer fra dens database til disken " "når \"lagre til disk\" benyttes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Sender bøker til enheter" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrollerer hvordan calibre overfører filer til din e-bokleser" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Instrumenttavle for metadata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Endre felt for metadata før lagring/sending" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Dele bøker ved e-post" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Deling" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -403,11 +403,11 @@ msgstr "" "Klargjør for deling av bøker via e-post. Kan brukes til automatisk sending " "av nedlastede nyheter til enhetene" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Deling over nettet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -415,33 +415,33 @@ msgstr "" "Klargjør calibre Innholdsserver som vil gi deg tilgang til calibres " "biblioteket fra hvor som helst, på enhver enhet, over Internett" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Programtillegg" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avansert" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Legg til/fjern/tilpass varierende deler av calibres funksjonalitet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Tilpassning" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Finjuster hvordan calibre oppfører seg under varierende situasjoner" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Diverse" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Diverse avanserte konfigurasjoner" @@ -769,18 +769,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Nyheter" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Katalog" @@ -806,6 +806,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Kommuniser med Cybook Gen3 / Opus eBook leser." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Kommuniser med EB600 eBook-leser." @@ -2102,15 +2106,6 @@ msgstr "" "siden det kan resultere i varierende dårlige sideeffekter i resten av " "konverteringsfølgerekken." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Gjennomsnittlig linjelengde for linjebryting dersom HTML filen er fra en " -"tidligere delvis konvertering fra en PDF fil. Standard er %default som slår " -"av dette valget." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "CSS fil brukt til utdata fremfor standardfil" @@ -2504,7 +2499,7 @@ msgstr "Sammendrag:" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Nøkkelord" @@ -2929,7 +2924,7 @@ msgstr "Hovedtekst" msgid "%s format books are not supported" msgstr "%s formaterte bøker er ikke støttet" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Bok %s av %s" @@ -2940,7 +2935,7 @@ msgstr "HTML TOC genereringsvalg." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Rangering" @@ -3292,7 +3287,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "Spesifiser tegnsettkodene for et utdatadokument. Standard er cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3523,7 +3518,7 @@ msgid "Disable UI animations" msgstr "Slå av UI animeringer" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Kopiert" @@ -3535,7 +3530,7 @@ msgstr "Kopier" msgid "Copy to Clipboard" msgstr "Kopier til utklippstavlen" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Velg filer" @@ -3698,7 +3693,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Legg til bøker i ditt calibrebibliotek fra den tilsluttede enhenten" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Hent kommentarer (eksperimentell)" @@ -3795,7 +3790,7 @@ msgid "Checking database integrity" msgstr "Sjekker databasens integritet" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3823,7 +3818,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d bøker" @@ -4035,9 +4030,9 @@ msgid "Could not copy books: " msgstr "Kunne ikke kopiere bøker: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Mislykket" @@ -4098,14 +4093,14 @@ msgid "Main memory" msgstr "Hovedminne" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Lagring Kort A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Lagring Kort B" @@ -4249,7 +4244,7 @@ msgid "covers" msgstr "Omslag" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadata" @@ -4438,7 +4433,7 @@ msgid "Click the show details button to see which ones." msgstr "Klikk vis detaljer knappen for å se hvilke." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Vis bokdetaljer" @@ -4581,7 +4576,7 @@ msgid "The specified directory could not be processed." msgstr "Den spesifiserte mappen kunne ikke prosesseres" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Ingen bøker" @@ -4879,7 +4874,7 @@ msgstr "utdata" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4922,7 +4917,7 @@ msgstr "utdata" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Form" @@ -5009,23 +5004,23 @@ msgstr "CSV/XML Valg" msgid "E-book options" msgstr "E-bok valg" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "'Ikke inkluder denne boken' merke:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "'Merk denne boken som lest' merke:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Tilleggsnotatsmerke:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "Regex-mønsker beskriver meker som skal utelates som sjangre:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5039,22 +5034,26 @@ msgstr "" "-Et regex-mønster av enestående punktum utelukker alle sjanger-emneord og " "genererer ingen sjanger-seksjoner" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Inkluder 'Tittel' område" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Inkluder 'Nylig lagt til' område" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sorter tall som tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Inkluder 'Serier' seksjon" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Tab mal for katalog.ui" @@ -5562,7 +5561,7 @@ msgid "Change the title of this book" msgstr "Forandre bokens tittel" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Forfatter(e): " @@ -5580,7 +5579,7 @@ msgstr "" "adskilt av komma." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Forlegger: " @@ -5591,7 +5590,7 @@ msgid "Ta&gs: " msgstr "Ta&gger: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5601,7 +5600,7 @@ msgstr "" "

De kan være ethvert ord eller fraser, separert ved kommategn." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5609,8 +5608,8 @@ msgstr "&Serier:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6126,7 +6125,7 @@ msgid "Automatically number books" msgstr "Nummerer bøker automatisk" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Tving tall til å starte med " @@ -6142,97 +6141,103 @@ msgstr "emneord som skal legges til" msgid "tags to remove" msgstr "emneord som skal fjernes" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Ingen detaljer tilgjengelig." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Enheten er ikke lenger koblet til." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Få informasjon om enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Få en liste over bøker på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Motta kommentar fra enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Send metadata til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Overfør samlingene til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Last opp %d bøker til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Slett bøker fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Last ned bøker fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Se min bok på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Sett stadart til send til enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Send til hovedminnet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Send til lagringskort A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Send til lagringskort B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Hovedminne" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Send spesifisert format til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Overfør og slett fra biblioteket" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Koble fra enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Feil ved kommunikasjonen med enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Ingen passende formater" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Velg mappe som skal åpnes som enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Feil ved komminikasjonen med enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6240,124 +6245,115 @@ msgstr "" "En midlertidig feil oppsto ved kommunikasjonen med enheten. Vennligst plugg " "ut og plugg inn igjen enheten, eller ta en omstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Enhet: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " Funnet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "Velg for å sende" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Velg format for å sende til enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Ingen enhet" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Kan ikke sende: Ingen enhet er koblet til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Ingen kort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Kan ikke sende: Enheten har ikke noe lagringskort" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-bok" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Vedlagt finner du e-boken" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "av" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "i %s format" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Sender e-post til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Ingen passende formater" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "Autokonverter de følgende bøkene før du sender dem via e-post?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Kunne ikke sende følgende bøker som e-post da ingen passende formater ble " "funnet:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Kunne ikke sende bøker via e-post" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Kunne ikke sende de følgende bøkene via e-post:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Sent som e-post:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Nyheter:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Vedlagt følger" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Sent nyheter til" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "Autokonverter følgende bøker før du laster dem opp til enheten?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Sender kataloger til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Sender nyheter til enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Sender bøker til enheten." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6366,11 +6362,11 @@ msgstr "" "ble funnet. Konverter boken/bøkene til et format som er støttet av din enhet " "først." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Ikke plass på enheten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6510,7 +6506,7 @@ msgstr "Sti fra biblioteket" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Navn" @@ -6562,7 +6558,7 @@ msgid "No location selected" msgstr "Et område ble ikke valgt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Dårlig område" @@ -6821,50 +6817,50 @@ msgstr "Søk/Erstatt" msgid "Working" msgstr "prossesserer" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Små bokstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Store bokstaver" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Store eller små bokstaver i tittelen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Karaktertreff" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Vanlig uttrykk" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Erstatt felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Flyttes til felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Legges til felt" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Rediger metainformasjon for %d bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Bok %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6877,7 +6873,7 @@ msgstr "" "og erstatt i tekstfelter benytter tegnsett som samsvarer med vanlige " "uttrykk. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6887,7 +6883,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6902,48 +6898,48 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 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:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 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:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Rediger metainformasjon" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "A&utomatisk forfattersortering" -#: /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:338 msgid "Author s&ort: " msgstr "Forfatter s&orter: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6951,63 +6947,63 @@ msgstr "" "Spesifiser hvordan forfatter(e) av denne boken skal sorteres. For eksempel " "Charles Dickens skal sorteres som Dickens, Charles." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Bedømning" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Bedømning av denne boken. 0-5 stjerner" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Ingen endring" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " stjerner" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Legg til ta&gger: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Åpne Tagg-redigering" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Fjern emneord:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Kommaseparert liste av emneord som skal fjernes fra bøkene. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Merk av denne boksen for å fjerne alle emneord fra bøkene." -#: /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 msgid "Remove all" msgstr "Fjern alle" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" 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:358 msgid "Clear series" 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:359 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" @@ -7015,37 +7011,37 @@ 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:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Automatisk nummererte bøker i denne serien" -#: /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:364 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:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "Remove &format:" msgstr "Fjern &format:" -#: /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:369 msgid "&Swap title and author" msgstr "&Bytt mellom tittel og forfatter" -#: /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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" 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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7055,73 +7051,73 @@ msgstr "" "\n" "Fremtidige konverteringsinnstillinger vil bruke standard innstillinger." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Slett &lagrede konverteringsinnstillinger for de valgte bøkene" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Grunnleggende metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Brukervalgte metadata" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /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:379 +#: /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:380 +#: /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:381 +#: /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:382 +#: /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:383 +#: /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:384 +#: /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:385 +#: /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:386 +#: /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:387 +#: /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" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7129,48 +7125,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" 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:395 msgid "Specify how the text should be copied into the destination." 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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" 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:399 msgid "Test &text" 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:400 msgid "Test re&sult" 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:401 msgid "Your test:" 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:402 msgid "&Search and replace" msgstr "" @@ -7443,20 +7439,21 @@ msgstr "Passord kreves" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Brukernavn:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Passord:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Vis passord" @@ -8451,7 +8448,7 @@ msgid "Show books in the main memory of the device" msgstr "Viser bøker i hovedminne til enheten" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Kort A" @@ -8460,7 +8457,7 @@ msgid "Show books in storage card A" msgstr "Viser bøker i lagringskort A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Kort B" @@ -8661,12 +8658,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Leser verktøylinje" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Neste side" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Forrige side" @@ -8710,7 +8707,7 @@ msgid "Do not check for updates" msgstr "Ikke søk etter oppdateringer" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre-bibliotek" @@ -8845,37 +8842,37 @@ msgstr "Boken har verken tittel eller ISBN" msgid "No matches found for this book" msgstr "Ingen treff ble funnet for denne boken" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Fullført" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9792,7 +9789,7 @@ msgstr "" "preferanser->Avansert->Plugins" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Kunne ikke starte innholdsserveren" @@ -10010,7 +10007,7 @@ msgstr "&Gjeldende endringer" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Søk" @@ -10152,7 +10149,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Søk" @@ -10245,15 +10242,15 @@ msgstr "" "De følgende bøkene har allerede blitt konvertert til %s format. Ønsker du å " "konvertere dem på nytt?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Gjenopprett" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Doner for å støtte Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "&Avslutt tilkoblet enhet" @@ -10261,12 +10258,12 @@ msgstr "&Avslutt tilkoblet enhet" msgid "Calibre Quick Start Guide" msgstr "Calibre hurtigstart-guide" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Feil ved konverteringen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10275,15 +10272,15 @@ msgstr "" "Du må først fjerne DRM beskyttelsen ved å benytte et 3.parts program med " "slike egenskaper." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Beskrivelse Slettet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Feilet" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10293,11 +10290,11 @@ msgstr "" "synes programmet er nyttig, kan du vurdere å donere for å støtte " "utviklingen. Din gave hjelper å holde calibre-utviklingen gående." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Det finnes aktive oppgaver. Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10307,11 +10304,11 @@ msgstr "" " Å avslutte kan føre til feil på enheten.
\n" " Er du sikker på at du ønsker å avslutte?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "ADVARSEL: Aktive oppgaver" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10550,36 +10547,36 @@ msgstr "Monospace fontstørrelse i piksler" msgid "The standard font type" msgstr "Standard tegnsetttype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Slå opp i ordboken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Gå til..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Neste Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Forrige Avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Begynnelsen av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Slutten av dokumentet" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Begynnelsen av avsnitt" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Slutten av avsnittet" @@ -10845,7 +10842,7 @@ msgstr "Skjul" msgid "Toggle" msgstr "Veksle" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10855,14 +10852,14 @@ msgstr "" "kan du koble opp din calibre boksamling direkte til enheten. For å gjøre " "dette må du slå på innholds-serveren." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Husk å la calibre kjøre, da serveren kun kjører så lenge calibre kjører." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10872,20 +10869,20 @@ msgstr "" "WordPlayer. Mitt vertskapsnavn må være det fullt kvalifiserte vertsnavnet " "eller IP-adressen til datamaskinen som calibre kjører på." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Flytter bibliotek..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Kunne ikke flytte bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Ugyldig database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -10893,20 +10890,20 @@ msgstr "" "

Et ugyldig bibliotek finnes allerede på %s. Slett dette før du forsøker å " "flytte det gjeldende biblioteket.
Feil:%s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Kunne ikke flytte bibliotek" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Velg lokalisasjon for bøker" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "Velkommen-veiviser" @@ -11011,48 +11008,71 @@ msgstr "" "nye lokaliseringen. Dersom calibre-biblioteket allerede finnes ved den nye " "lokaliseringen, så vil calibre bytte til dette." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Bruk: %s:%s@%s:%s og %s kryptering" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Sender..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "E-posten har blitt sent" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Fullfør gmail oppsett" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Ikke glem å legge inn ditt gmail brukernavn og passord. Du kan registrere en " -"gratis gmail-konto ved http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Ugyldig konfigurering" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Du må legge inn Fra e-postadresse" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "Du må legge inn brukernavn og passord for e-post serveren." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Send e-post &fra:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Dette er hva som vil bli presentert i Fra: felt for e-post sent fra " "calibre.
Benytt din e-postadresse" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11068,49 +11088,49 @@ msgstr "" "

En e-postserver er hendig dersom den du sender e-post til kun aksepterer " "e-post fra kjente e-postleverandører." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "E-post&server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "calibre kan valgfritt benytte en server for å sende e-post" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Vertsnavn" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Vertsnavnet til din e-postserver. For eksempel smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "Porten din e-postserver lytter etter koblinger gjennom: Standard er 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Ditt brukernavn for e-postserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Ditt passord for e-postserveren" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Vis" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Kryptering:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11118,23 +11138,27 @@ msgstr "" "Bruk TLS kryptering når du kobler opp mot e-postserveren. Dette er det " "vanligste valget." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Benytt SSL kryptering når du kobler opp e-postserveren." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Benytt Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Test e-post" @@ -11200,7 +11224,7 @@ msgstr "tom" msgid "empty" msgstr "tom" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11214,7 +11238,7 @@ msgstr "" "Standard: '%%standard'\n" "Gjelder: CSC, XML utdata-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11227,7 +11251,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: CSV, XML utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11241,7 +11265,7 @@ msgstr "" "Standard: '%%default'\n" "Brukes for: BIBTEX utdata-format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11254,7 +11278,7 @@ msgstr "" "Standard: '%default'\n" "Grukes til: BIBTEX utdataformat." -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11266,7 +11290,7 @@ msgstr "" "Standard: '%default'\n" "Brukes til BIBTEX utdataformat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11280,7 +11304,7 @@ msgstr "" "Standard: '%%default'\n" "Brukes til: BIBTEX utdata-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11292,7 +11316,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: BibTeX utdataformat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11304,7 +11328,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: BibTeX utdataformat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11316,7 +11340,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: BibTeX utdataformat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11326,7 +11350,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdata-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11340,7 +11364,7 @@ msgstr "" "Standard: '%default'Ingen\n" "Gjelder: ePub, MOBI utdata-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11350,7 +11374,7 @@ msgstr "" "Standard: '%default' utelater emneord i braketter, f.eks. '[]'\n" "Gjelder: ePub, MOBI utdata-formater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11365,7 +11389,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11375,7 +11399,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11385,7 +11409,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: Epub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11395,7 +11419,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11406,7 +11430,7 @@ msgstr "" "Standard; '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11419,7 +11443,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11435,7 +11459,7 @@ msgstr "" "Standard: '%default'\n" "Gjelder: ePub, MOBI utdataformater" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11445,6 +11469,13 @@ msgstr "" "Standard; '%default'\n" "Gjelder: ePub, MOBI utdataformater" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -12117,35 +12148,35 @@ msgstr "" "Merkelappen kan kun inneholde små bokstaver, tall eller understrek, samt at " "den må starte med en bosktav" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sGjennomsnittlig vurdering er %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Hovedvalg" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "

Migrerer gammel database til e-bokbiblioteket i %s
" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Kopierer %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Komprimerer databasen" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Sjekker for SQL integritet..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Sjekker etter savnede filer." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Sjekker ID" @@ -12369,128 +12400,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "Passord for tilgang til ditt Calibrebibliotek. Brukernavn er " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Nyeste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "" @@ -12811,7 +12843,7 @@ msgstr "Kunne ikke klarere SSH sesjonen: " msgid "Failed to authenticate with server: %s" msgstr "Kunne ikke verifisere med server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Kontroller e-postlevering" @@ -14020,6 +14052,16 @@ msgstr "Ikke last ned CSS stilsett" #~ "

Brukermanual

En brukermanual er også tilgjengelig online." +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Ikke glem å legge inn ditt gmail brukernavn og passord. Du kan registrere en " +#~ "gratis gmail-konto ved http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Fullfør gmail oppsett" + #~ msgid "" #~ "The format in which to output the data. Available choices: %s. Defaults is " #~ "text." @@ -14048,6 +14090,9 @@ msgstr "Ikke last ned CSS stilsett" #~ "\n" #~ "Start Calibres innholdserver." +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Passord for tilgang til ditt Calibrebibliotek. Brukernavn er " + #~ msgid "Catalan" #~ msgstr "katalansk" @@ -14196,6 +14241,14 @@ msgstr "Ikke last ned CSS stilsett" #~ msgid "Edit meta information" #~ msgstr "Rediger metadata" +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Gjennomsnittlig linjelengde for linjebryting dersom HTML filen er fra en " +#~ "tidligere delvis konvertering fra en PDF fil. Standard er %default som slår " +#~ "av dette valget." + #~ msgid "" #~ "

This wizard will help you choose an appropriate font size key for your " #~ "needs. Just enter the base font size of the input document and then enter an " diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index f6dd336ba0..046828e106 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-14 20:32+0000\n" -"Last-Translator: Mar2zz \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:26+0000\n" +"Last-Translator: Kovid Goyal \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-15 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -37,7 +37,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -46,8 +46,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -115,10 +115,10 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -127,10 +127,10 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -143,14 +143,14 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -269,44 +269,44 @@ msgstr "Lees metagegevens van eboeken in ZIP-archieven" msgid "Set metadata in %s files" msgstr "Stel metagegevens van %s bestanden in" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Uiterlijk en Vormgeving" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Pas het uiterlijk en gedrag van de calibre interface aan naar je smaak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Verander de manier waarop calibre zich gedraagt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Voeg je eigen kolommen toe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Voeg/Verwijder je eigen kolommen toe aan de calibre boekenlijst" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Werkbalk aanpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -314,58 +314,58 @@ msgstr "" "Pas de werkbalken en contextmenu's aan en verander daarmee de beschikbare " "actie's in beide." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Invoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "" "Configureer de conversie-instellingen specifiek voor ieder invoerformaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Algemene opties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Configureer de conversieopties die alle formaten gemeen hebben" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Uitvoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Set de conversieopties specifiek voor ieder uitvoerformaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Boeken toevoegen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importeren/Exporteren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Bepaal hoe calibre metadata uit bestanden leest als boeken worden toegevoegd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Boeken bewaren op schijf" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -373,32 +373,32 @@ msgstr "" "Bepaal hoe calibre bestanden uit zijn database op schijf bewaard als je " "Bewaar op schijf gebruikt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Stuur boeken naar apparaten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Bepaal hoe calibre bestanden naar je ebook reader overplaats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Invoegtoepassing voor metagegevens" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Verander de velden met metagegevens voordat het opslaan/versturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Deel boeken via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Delen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -406,11 +406,11 @@ msgstr "" "Configureer het delen van boeken via email. Dit kan gebruikt worden om " "automatisch gedownload nieuws naar je apparaten te sturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Delen over het net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -418,35 +418,35 @@ msgstr "" "Configureer de calibre Content Server, die je toegang tot je calibre " "bibliotheek geeft van overal, op elk apparaat, via het internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Geavanceerd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Voeg toe/verwijder/customize de verschillende delen van de calibre " "functionaliteit" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Stem af hoe calibre zich gedraagt in bepaalde situaties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Diversen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Diverse geavanceerde instellingen" @@ -775,18 +775,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Nieuws" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catalogus" @@ -812,6 +812,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Communiceer met de Cybook Gen 3 / Opus eboek lezer." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Communiceer met de EB600 e-boek lezer." @@ -2131,15 +2135,6 @@ msgstr "" "doet, omdat het kan resulteren in verscheidene rommelige effecten met de " "rest van het conversie systeem" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Gemiddelde regel lengte voor afbreken van regels als de HTML afkomstig is " -"van een oudere gedeeltelijke conversie van een PDF bestand. Standaard is " -"%default , wat dit uitschakeld." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2539,7 +2534,7 @@ msgstr "Opmerkingen" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Labels" @@ -2964,7 +2959,7 @@ msgstr "Hoofd Tekst" msgid "%s format books are not supported" msgstr "%s formaat boeken worden niet ondersteund" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Boek %s van %s" @@ -2975,7 +2970,7 @@ msgstr "HTML inhoudsopgave generatie opties" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Waardering" @@ -3335,7 +3330,7 @@ msgstr "" "Specificeer de karakter codering van het uitvoer document. Standaard is " "cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3577,7 +3572,7 @@ msgid "Disable UI animations" msgstr "Blokkeer GI animaties" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Gekopieerd" @@ -3589,7 +3584,7 @@ msgstr "Kopieer" msgid "Copy to Clipboard" msgstr "Kopieer naar het Klembord" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Kies bestanden" @@ -3753,7 +3748,7 @@ msgstr "" "Voeg boeken op je aangesloten apparaat toe aan de Calibre bibliotheek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Haal annoties op (experimenteel)" @@ -3852,7 +3847,7 @@ msgid "Checking database integrity" msgstr "Verifieren database integriteit" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3880,7 +3875,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d boeken" @@ -4097,9 +4092,9 @@ msgid "Could not copy books: " msgstr "Kan boeken niet kopieren: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Mislukt" @@ -4161,14 +4156,14 @@ msgid "Main memory" msgstr "|Hoofdgeheugen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Geheugenkaart A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Geheugenkaart B" @@ -4314,7 +4309,7 @@ msgid "covers" msgstr "Omslag afbeeldingen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metagegevens" @@ -4502,7 +4497,7 @@ msgid "Click the show details button to see which ones." msgstr "Klik de 'laat details zien' knop om te zien welke" #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Laat boek details zien" @@ -4644,7 +4639,7 @@ msgid "The specified directory could not be processed." msgstr "De geselecteerde folder kan niet worden bewerkt." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Geen boeken" @@ -4942,7 +4937,7 @@ msgstr "uitvoer" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4985,7 +4980,7 @@ msgstr "uitvoer" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulier" @@ -5072,23 +5067,23 @@ msgstr "CSV/XML Opties" msgid "E-book options" msgstr "E-Boek opties" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "'Gebruik dit boek niet' label:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "'Markeer dit boek als gelezen' label:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Overige notities label prefix:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "RegEx tag-patroon om genres uit te sluiten:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5102,22 +5097,26 @@ msgstr "" "- Een regex met één . sluit alle genre tags uit, en genereert geen Genre " "Sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Voeg 'Titel' sectie toe" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Voeg 'Onlangs Toegevoegd' sectie toe" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sorteer getallen als tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Voeg 'Series\" gedeelte toe" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Tab sjabloon voor catalog.ui" @@ -5623,7 +5622,7 @@ msgid "Change the title of this book" msgstr "Verander de titel van dit boek" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Auteur(s) " @@ -5641,7 +5640,7 @@ msgstr "" "van elkaar worden gescheiden." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Uitgeverij " @@ -5652,7 +5651,7 @@ msgid "Ta&gs: " msgstr "Ta&gs " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5663,7 +5662,7 @@ msgstr "" "komma's." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5671,8 +5670,8 @@ msgstr "&Series:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6190,7 +6189,7 @@ msgid "Automatically number books" msgstr "Nummer boeken automatisch" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Laat de nummering beginnen bij : " @@ -6206,97 +6205,103 @@ msgstr "toe te voegen labels" msgid "tags to remove" msgstr "te verwijderen labels" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Geen details beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Apparaat niet meer verbonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Lees apparaat informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Lees boeken lijst van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Haal annotaties uit apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Verstuur metagegevens naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Stuur de collectie(s) naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Upload %d boeken naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Verwijder boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Download boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Bekijk boek op apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Stel standaard stuur naar apparaat actie in" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Stuur naar hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Zend naar opslag kaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Zend naar opslag kaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Zend specifiek formaat naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Verzend en verwijder uit de bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Verbreek apparaat verbinding" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Geen geschikte formaten" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Selecteer de \"als apparaat\" te openen map" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6304,126 +6309,117 @@ msgstr "" "Er is een tijdelijke fout opgetreden tijdens de communicatie met de lezer. " "verwijzer de lezer en plug hem opnieuw in, of herstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Apparaat: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " gedetecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "Geselecteerd om te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Kies formaat om naar apparaat te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Geen apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Kan niet zenden: geen apparaat beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Geen kaart aanwezig" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Kan niet versturen: Apparaat heeft geen opslag kaart" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-Boek:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "In de bijlage vind je het e-boek." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "door" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "in het %s formaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Versturen van email naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Geen geschikte formaten" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Auto-converteer de volgende boeken alvorens ze via email te versturen?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "De volgende boeken konden niet worden ge-emailed omdat geen beschikbare " "formaten zijn gevonden:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Boeken konden niet worden ge-emailed." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "De volgende boeken konden niet worden ge-emailed:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Verstuurd via email:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Nieuws:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Bijgevoegd is de" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Nieuws verzonden naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Auto-converteer de volgende boeken alvorens ze te uploaden naar het appraat?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Verstuur catalogus naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Versturen van nieuws naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Boeken worden naar de lezer verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6432,11 +6428,11 @@ msgstr "" "er geen geschikte bestandsformaten konden worden gevonden. Converteer " "boek(en) eerst naar een formaat dat word ondersteund door je lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Geen schijfruimte op de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6576,7 +6572,7 @@ msgstr "Pad naar bibliotheek" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Naam" @@ -6629,7 +6625,7 @@ msgid "No location selected" msgstr "Geen locatie geselecteerd" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Ongeldige locatie geselecteerd" @@ -6893,50 +6889,50 @@ msgstr "Zoek/Vervang" msgid "Working" msgstr "Bezig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Kleine letters" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Hoofdletters" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Elk Woord Met Hoofdletter" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Karakter match" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Reguliere Expressie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Vervang veld" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Plaats na veld" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Plaats voor veld" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Bewerk van %d boekenYou can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6948,7 +6944,7 @@ msgstr "" "Bibliotheek-backup te maken voordat je verder gaat.

Zoek en vervang in " "tekstvelden met karaktermatching of reguliere expressies. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6965,7 +6961,7 @@ msgstr "" "overeenkomen. Als je deze niet kiest dan zal alle tekst, kleine en grote " "letters, overeenkomen." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6990,30 +6986,30 @@ msgstr "" "informatie van python's reguliere expressies en dan vooral de 'sub' " "(ingebedde) functie." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Je moet een doel opgeven als de bron een opgemaakt veld is" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Zoek/vervang ongeldig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "Auteurs kunnen niet opgenomen worden. Boek titel %s niet aangepast." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Titel kan niet opgenomen worden. Boek titel %s niet aangepast." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Zoekpatroon is ongeldig: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -7021,19 +7017,19 @@ msgstr "" "Veranderingen opslaan voor %d boeken.\n" "Fase {0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Verander Meta informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Sorteer A&utomatisch op auteur" -#: /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:338 msgid "Author s&ort: " msgstr "Auteur s&ortering: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -7041,64 +7037,64 @@ msgstr "" "Geef aan hoe de auteur(s) van dit boeken dienen te worden gesorteerd. " "Bijvoorbeeld: Charles Dickens moet worden gesorteerd als: Dickens, Charles" -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Rangschikking" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Rangschikking van dit boek. 0-5 sterren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Geen wijzigingen" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " sterren" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Voeg tags toe: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Open Tag Editor" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Verwijder tags:" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Lijst van tags die moeten worden verwijderd, gescheiden met komma's. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Aanvinken om alle tags uit de boeken te verwijderen" -#: /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 msgid "Remove all" msgstr "Alles verwijderen" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Aangevinkt, de serie wordt verwijderd" -#: /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:358 msgid "Clear series" msgstr "Verwijder serie" -#: /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:359 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" @@ -7109,11 +7105,11 @@ msgstr "" "worden. Als deze wel aangevinkt is dan zullen de boeken automatisch\n" "worden genummerd in de volgorde van de selectie." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Nummer de boeken in deze serie automatisch" -#: /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:364 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" @@ -7123,15 +7119,15 @@ msgstr "" "in de database. Vink dit aan om Calibre te laten nummeren vanaf de \n" "opgegeven waarde" -#: /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:368 msgid "Remove &format:" msgstr "Verwijder &formaat:" -#: /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:369 msgid "&Swap title and author" msgstr "Verwi&ssel titel en auteur" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7142,11 +7138,11 @@ msgstr "" "titel en auteur samen aangevinkt zijn is eerst de wissel en daarna de " "hoofdletters" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Verander titel naar hoofdletters" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7157,34 +7153,34 @@ msgstr "" "Toekomstige conversies van deze boeken zullen de standaard instellingen " "gebruiken." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "" "Verwijder voor de geselecteerde boeken de opge&slagen conversie instellingen." -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Basis metagegevens" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Aangepaste metagegevens" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Zoek&functie" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "De naam van het veld dat je wilt zoeken" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Zoekmodus:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7192,11 +7188,11 @@ msgstr "" "Kies voor normale tekst vergelijking of geavanceerde reguliere expressie " "vergelijking" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Zoeken naar:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7204,7 +7200,7 @@ msgstr "" "Geef op wat je wilt zoeken, gewoon tekst of een reguliere expressie, " "afhankelijk van de modus." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7212,15 +7208,15 @@ msgstr "" "Aanvinken als de zoekterm exact overeen moet komen met hoofd- en kleine " "letters. Niet aanvinken om dit te negeren." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Hoofdlettergevoelig" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Vervangen door:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" @@ -7228,11 +7224,11 @@ msgstr "" "De vervangende tekst. De overeenkomende tekst zal vervangen worden met deze " "tekst" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Functie toepassen na vervanging:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7243,11 +7239,11 @@ msgstr "" "karaktermodus wordt het volledige\n" "veld verwerkt. In expressiemodus wordt alleen de geraakte tekst verwerkt." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Doelveld:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7255,15 +7251,15 @@ msgstr "" "Het veld waar de tekst na de verandering wordt ingezet. Als deze blanco is " "dan wordt het bronveld gebruikt." -#: /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:394 msgid "Mode:" msgstr "Modus:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Geef op hoe de tekst naar het doel gekopieerd moet worden." -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7273,23 +7269,23 @@ msgstr "" "comma of niets\n" "tussen de originele tekst of nieuwe tekst moet worden gezet" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "Gebruik komma" -#: /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:399 msgid "Test &text" msgstr "Test &tekst" -#: /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:400 msgid "Test re&sult" msgstr "Testre&sultaat" -#: /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:401 msgid "Your test:" msgstr "Jouw test:" -#: /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:402 msgid "&Search and replace" msgstr "Zoek tek&st en vervang" @@ -7583,20 +7579,21 @@ msgstr "Wachtwoord Noodzakelijk" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "Gebr&uikersnaam:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "W&achtwoord:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Geef wachtwoord weer" @@ -8611,7 +8608,7 @@ msgid "Show books in the main memory of the device" msgstr "Geef de boeken in de het hoofdgeheugen van het apparaat weer" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Geheugenkaart A" @@ -8620,7 +8617,7 @@ msgid "Show books in storage card A" msgstr "Geef de boeken weer die op geheugenkaart A staan" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Geheugenkaart B" @@ -8823,12 +8820,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF viewer werkbalk" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Volgende Pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Vorige Pagina" @@ -8872,7 +8869,7 @@ msgid "Do not check for updates" msgstr "Check niet voor updates" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre Bibliotheek" @@ -9010,37 +9007,37 @@ msgstr "Boek heeft geen titel en geen ISBN" msgid "No matches found for this book" msgstr "Geen overeenkomsten gevonden voor dit boek" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Metagegevens downloaden mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "omslag" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Gedownload" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Verkrijgen mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s van: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Voltooid" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Metagegevens downloaden succesvol voor %d van %d boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Details" @@ -9978,7 +9975,7 @@ msgstr "" ">Geavanceerd->Plugins" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Content server kon niet worden gestart" @@ -10198,7 +10195,7 @@ msgstr "&Huidige aanpassingen" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Zoeken" @@ -10348,7 +10345,7 @@ msgstr "" "het zeker?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Zoekopdrachten" @@ -10443,15 +10440,15 @@ msgstr "" "De volgende boeken waren al geconverteerd naar %s formaat. Wil je dit " "nogmaals doen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "He&rstellen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "Ondersteun calibre met een &Donatie" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "Aangesloten apparaat ontkoppelen" @@ -10459,12 +10456,12 @@ msgstr "Aangesloten apparaat ontkoppelen" msgid "Calibre Quick Start Guide" msgstr "Calibre snelstart handboek" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Converteer Fout" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10472,15 +10469,15 @@ msgstr "" "

Kon %s niet converteren.

Het is een eboek met DRM. " "Je moet eerst de DRM verwijderen met externe programma's." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Recept uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10491,12 +10488,12 @@ msgstr "" "van het programma te steunen. Jouw donatie helpt om de ontwikkeling voort te " "zetten." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Er zijn actieve werk opdrachten. Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10507,11 +10504,11 @@ msgstr "" "apparaat.
\n" " Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "Waarschuwing: actieve werk opdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10752,36 +10749,36 @@ msgstr "De niet-proportionele lettergrootte in px" msgid "The standard font type" msgstr "Het Standaard lettertype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Zoek in woordenboek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ga naar..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Volgende sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Vorige sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Begin van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Einde van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Begin van sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Einde van sectie" @@ -11051,7 +11048,7 @@ msgstr "Verberg" msgid "Toggle" msgstr "Omschakelen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11061,7 +11058,7 @@ msgstr "" "kun je de calibre boek collectie direct op je telefoon bekijken. Om dit te " "doen zul je de content server moeten inschakelen." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11069,7 +11066,7 @@ msgstr "" "Denk er aan om calibre open te laten, aangezien de server alleen werkt " "zolang calibre draait" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11079,20 +11076,20 @@ msgstr "" "bibliotheek. myhostname is de volledige hostname of het IP address van de " "computer waar calibre op draait." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Verplaatsen bibliotheek..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Bibliotheek kon niet worden verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "ongeldige database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11100,21 +11097,21 @@ msgstr "" "

Een ongeldige bibliotheek bestaat at in %s, verwijder deze alvorens " "nogmaals te proberen de bestaande bibliotheek te verplaatsen.
Fout: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Bibliotheek kon niet worden verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Selecteer de locatie voor boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Je moet een lege map kiezen voor de calibre bibliotheek. %s is niet leeg." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "Welkom Wizard" @@ -11219,48 +11216,71 @@ msgstr "" "locatie worden gecopieerd. Als er al een bestaande bibliotheek is in de " "nieuwe locatie, dan zal calibre hier naar overschakelen." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Gebruik: %s:%s@%s:%s en %s versleuteling" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Bezig met versturen..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Email succesvol" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Beëindig gmail installatie" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Vergeet je gmail gebruikersnaam en wachtwoord niet. Je kunt een gratis gmail " -"account verkrijgen op http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Ongeldige configuratie" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Voer het adres van de email zender in" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "Voer de gebruikernaam en wachtwoord voor de mailserver in" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Verstuur email &van:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Dit is wat wordt gebruikt in het from: (verzender) veld van emails die " "worden verstuurd door calibre.
Voer hier je email adres in" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11276,51 +11296,51 @@ msgstr "" "

Een mailserver is handig als de service waar je email naar toe stuurt " "alleen email accepteerd van bekende email services." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "Mail &Server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "Calibre kan optioneel een server gebruiken om mail te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Hostnaam:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "De hostnaam van je mail server, bijvoorbeeld: smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Poort:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "De poort waarop je mail server luistert naar connecties. Standaard is poort " "25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Je gebruikersnaam op de mailserver" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Je wachtwoord op de mailserver" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "Weerge&ven" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "V&ersleuteling:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11328,23 +11348,27 @@ msgstr "" "Gebruik TLS versleuteling voor de verbinding met de mailserver. Dit is de " "meest gebruikelijke." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Gebruik SSL versleuteling voor de verbinding met de mailserver." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Gebruik GMail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Test email" @@ -11411,7 +11435,7 @@ msgstr "leeg" msgid "empty" msgstr "leeg" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11425,7 +11449,7 @@ msgstr "" "Standaard: '%%default'\n" "Betrekking tot: CSV, XML uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11437,7 +11461,7 @@ msgstr "" "Standaard: '%default'\n" "Betrekking op: CSV, XML uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11451,7 +11475,7 @@ msgstr "" "Standaard: '%%default'\n" "Van toepassing voor: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11463,7 +11487,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing voor: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11475,7 +11499,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing voor: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11490,7 +11514,7 @@ msgstr "" "Standaard: '%%default'\n" "Van toepassing voor: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11502,7 +11526,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing op: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11514,7 +11538,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing op: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11526,7 +11550,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing op: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11537,7 +11561,7 @@ msgstr "" "Standaard: '%default'\n" "Betrekking tot: ePub, MOBI uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11551,7 +11575,7 @@ msgstr "" "Standaard: '%default'None\n" "Betrekking tot: ePub, MOBI uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11561,7 +11585,7 @@ msgstr "" "Standaard: '%default' uitgezonderd labels in haken, b.v. '[

Migrating old database to ebook library in %s

" msgstr "

Migreer oude database naar eboek bibliotheek in %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Kopiëren van %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Comprimeren database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Verifiëren SQL integriteit..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Zoeken naar verloren bestanden" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "id gecontroleerd" @@ -12642,130 +12673,129 @@ msgstr "" "Voorvoegsel voor URL's. Handig voor reverseproxying van deze server vanaf " "Apache/nginx/etc." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" -"Wachtwoord om toegang te verkrijgen tot je calibre bibliotheek. " -"Gebruikersnaam is " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Laden, wachten aub" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Eerste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Laatste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Vorige" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Volgende" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Verken %d boeken" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Gemiddelde waardering" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f sterren" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d sterren" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Populariteit" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Sorteren met" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "bibliotheek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "thuis" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Nieuwste" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Alle boeken" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Verken boeken met" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Kies een categorie om mee te verkennen" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Verkennen met" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Omhoog" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Boeken in" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Andere formaten" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Lees %s in het %s formaat" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Verkrijg" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Permalink" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Een permanente koppeling naar dit boek" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Dit boek is verwijderd" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "zoekende" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Boeken vergelijken" @@ -13102,7 +13132,7 @@ msgstr "SSH sessie kon niet tot stand worden gebracht: " msgid "Failed to authenticate with server: %s" msgstr "Authenticatie met server mislukt: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Wijzig email verzending" @@ -14536,6 +14566,14 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Communicate with the Nokia 810 internet tablet." #~ msgstr "Communiceer met het Nokia 810 internet tablet." +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Gemiddelde regel lengte voor afbreken van regels als de HTML afkomstig is " +#~ "van een oudere gedeeltelijke conversie van een PDF bestand. Standaard is " +#~ "%default , wat dit uitschakeld." + #~ msgid "" #~ "Do not force text to be justified in output. Whether text is actually " #~ "displayed justified or not depends on whether the ebook format and reading " @@ -14758,6 +14796,16 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Click to see the books on storage card A in your reader" #~ msgstr "Klik hier om de boeken te zien op opslagkaart A in je lezer" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Vergeet je gmail gebruikersnaam en wachtwoord niet. Je kunt een gratis gmail " +#~ "account verkrijgen op http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Beëindig gmail installatie" + #~ msgid "The author sort string" #~ msgstr "De auteur sorteer sleutel" @@ -14787,6 +14835,11 @@ msgstr "Download geen CSS stylesheets" #~ "\n" #~ "Start de calibre content server" +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "" +#~ "Wachtwoord om toegang te verkrijgen tot je calibre bibliotheek. " +#~ "Gebruikersnaam is " + #~ msgid "English (TH)" #~ msgstr "Engels (TH)" diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index 16b4eadcb2..343d31724b 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-15 01:15+0000\n" -"Last-Translator: Vladimir Oka \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 22:39+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-11-16 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -31,7 +31,7 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -40,8 +40,8 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -109,10 +109,10 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -121,10 +121,10 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -137,14 +137,14 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -267,43 +267,43 @@ msgstr "Upiši metapodatke u %s fajlova" msgid "Set metadata from %s files" msgstr "Učitaj metapodatke iz %s fajlova" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Izgled i ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Prilagodite izgled i ponašanje calibrea da odgovara vašem ukusu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Promenite način ponašanja calibrea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Dodajte sopstvene kolone" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodajte/uklonite sopstvene kolone za calibre spisak knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Prilagodite traku sa alatima" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -311,57 +311,57 @@ msgstr "" "Prilagodite traku sa alatima i kontekstno osetljive menije menjajući akcije " "koje su na raspolaganju u svakom od njih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Ulazna podešavanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Konverzija" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Postavite opcije za konverziju za svaki od ulaznih formata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Uobičajene opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Postavite opcije za konverziju za sve formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "Izlazne opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Postavite opcije za konverziju specifične za svaki izlazni format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "Dodajem knjige" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Uvoz/izvoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrolišite kako calibre čita metapodatke iz fajlova kada dodaje knjige" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "Snimam kjige na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -369,32 +369,32 @@ msgstr "" "Kontrolišite kako calibre izvozi fajlove iz baze podataka na disk kada se " "koristi opcija Snimi na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Šaljem knjige na uređaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrolišite kako calibre šalje fajlove na vaš čitač" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "Priključci za metapodatke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "Izmeni metapodatke pre snimanja/slanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Šaljem knjige elektronskom poštom" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Razmena" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -402,11 +402,11 @@ msgstr "" "Podesite razmenu knjiga elektronskom poštom. Ovo se može koristiti i za " "automatsko slanje preuzetih vesti na vaš uređaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "Razmena preko Interneta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -414,33 +414,33 @@ msgstr "" "Podesite calibre server sadržaja koji će omogućiti pristup vašoj calibre " "biblioteci s bilo koje lokacije, bilo kog uređaja, a preko Interneta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Dodaci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Napredno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Dodaj/ukloni/podesi različite elemente ponašanja calibrea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "Fina podešavanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "Fino podesite kako se calibre ponaša u različitim situacijama" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "Razno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "Razna napredna podešavanja" @@ -763,18 +763,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Vesti" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Katalog" @@ -800,6 +800,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Uspostavi vezu s Cybook Gen 3/Opus čitačem." +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "Uspostavi vezu s Cybook Orizon čitačem" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Uspostavi vezu sa EB600 čitačem." @@ -2097,14 +2101,6 @@ msgstr "" "hijerarhiju direktorijuma. Koristite ovu opciju samo ako znate šta radite, " "jer može proizvesti brojne neženjene efekte u nastavku konverzije." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" -"Srednja dužina reda za prelom ako je HTML fajl rezultat prethodne konverzije " -"iz PDF fajla. Podrazumeva se %default i ta vrednost isključuje ovu opciju." - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "Korišćen je CSS umesto podrazumevanog fajla za kreiranje izlaza" @@ -2497,7 +2493,7 @@ msgstr "Komentari" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etikete" @@ -2914,7 +2910,7 @@ msgstr "Glavni tekst" msgid "%s format books are not supported" msgstr "Knjige u formatu %s nisu podržane" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "Knjiga %s od %s" @@ -2925,7 +2921,7 @@ msgstr "Opcije za generisanje HTML Sadržaja" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Ocena" @@ -3286,7 +3282,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "Navedi kodni raspored za izlazni dokument. Podrazumeva se cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3515,7 +3511,7 @@ msgid "Disable UI animations" msgstr "Onemogući animacije u korisničkom interfejsu" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Kopirano" @@ -3527,7 +3523,7 @@ msgstr "Kopiraj" msgid "Copy to Clipboard" msgstr "Kopiraj u memoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "Izaberi fajlove" @@ -3688,7 +3684,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Dodaj knjige u calibre biblioteku s priključenog uređaja" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "Preuzmi beleške (eksperimentalno)" @@ -3785,7 +3781,7 @@ msgid "Checking database integrity" msgstr "Proveravam integritet baze podataka" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3813,7 +3809,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "%d knjiga" @@ -4028,9 +4024,9 @@ msgid "Could not copy books: " msgstr "Nisam uspeo da prekopiram knjige: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "Nije uspelo" @@ -4091,14 +4087,14 @@ msgid "Main memory" msgstr "Osnovna memorija" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "Memorijska kartica A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "Memorijska kartica B" @@ -4243,7 +4239,7 @@ msgid "covers" msgstr "naslovne strane" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metapodaci" @@ -4431,7 +4427,7 @@ msgid "Click the show details button to see which ones." msgstr "Kliknite na dugme za više detalja da vidite koje." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Prikaži detalje o knjizi" @@ -4575,7 +4571,7 @@ msgid "The specified directory could not be processed." msgstr "Nisam mogao da obradim navedeni direktorijum" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Nema knjiga" @@ -4872,7 +4868,7 @@ msgstr "izlaz" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4915,7 +4911,7 @@ msgstr "izlaz" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Obrazac" @@ -5002,24 +4998,24 @@ msgstr "CSV/XML opcije" msgid "E-book options" msgstr "Opcije za e-knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "Etiketa 'ne uključuj ovu knjigu':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "Etiketa 'obeleži ovu knjigu kao pročitanu':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "Dodatni prefiks za etiketu 'beleška':" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" "Regularni izraz koji opisuje etikete koje će biti ignorisane kao žanrovi:" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -5033,22 +5029,26 @@ msgstr "" "- Regularni izraz koji je samo jedna tačka isključuje sve etikete za žanr i " "ne generiše Sekciju žanrova" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "Uključi odeljak 'Naslovi'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "Uključi odeljak 'Nedavno dodato'" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "Sortiraj brojeve kao da su napisani slovima" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "Uključi odeljak \"Serija\"" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "Etiketa za spisak želja:" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "Specifikacija tabulatora za catalog.ui" @@ -5553,7 +5553,7 @@ msgid "Change the title of this book" msgstr "Promeni naslov ove knjige" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /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:336 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:377 msgid "&Author(s): " msgstr "&Autor: " @@ -5570,7 +5570,7 @@ msgstr "" "Promeni autore za ovu knjigu. Ako autora ima više razdvojte imena zarezima" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:344 +#: /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 msgid "&Publisher: " msgstr "&Izdavač: " @@ -5581,7 +5581,7 @@ msgid "Ta&gs: " msgstr "&Etikete: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /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:347 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:390 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5591,7 +5591,7 @@ msgstr "" "pretraživanja.

One mogu biti reči ili fraze, razdvojene zarezima." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /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:354 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:393 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:214 msgid "&Series:" @@ -5599,8 +5599,8 @@ msgstr "&Serija:" #: /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:354 #: /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 msgid "List of known series. You can add new series." @@ -6118,7 +6118,7 @@ msgid "Automatically number books" msgstr "Automatski numeriši knjige" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "Brojanje mora početi od " @@ -6134,97 +6134,103 @@ msgstr "etikete za dodavanje" msgid "tags to remove" msgstr "etikete za uklanjanje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nema detaljnih podataka." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "Uređaj više nije priključen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Prikupi informacije o uređaju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Preuzmi spisak knjiga sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "Preuzmi beleške sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Pošalji metapodatke na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "Pošalji kolekciju na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Prenesi %d knjiga na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Izbriši kjnige sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Preuzmi knjige sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Pregledaj knjige na uređaju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Postavi podrazumevanu akciju pri prenošenju na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Pošalji u osnovnu memoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Pošalji na memorijsku karticu A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Pošalji na memorijsku karticu B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "Osnovna memorija" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "Pošalji određeni format na" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "Pošalji i izbriši iz biblioteke" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "Isključi uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Greška u komunikaciji sa uređajem" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Nema odgovarajućih formata" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "Izaberite direktorijum koji će biti korišćen kao uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Greška u komunikaciji sa uređajem" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6232,123 +6238,114 @@ msgstr "" "Došlo je do privremene greške u komunikaciji sa uređajem. Molim vas da " "isključite uređaj i/ili ponovo pokrenete računar." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Uređaj: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detektovan." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "izabrane za slanje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Izaberi format za slanje na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Nema uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "Ne mogu da pošaljem: Nije priključen nijedan uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Nema memorijske kartice" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "Ne mogu da pošaljem: Uređaj nema memorijsku karticu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "E-knjiga:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "E-knjigu ćete pronaći priključenu uz ovu poruku" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "od" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "u formatu %s." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "Šaljem poruku za" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "Nema odgovarajućih formata" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "Automatski konvertuj ove knjige pre slanja elektronskom poštom?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "Nisam uspeo da pošaljem ove knjige, jer nisu pronađeni odgovarajući formati:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Nisam uspeo da pošaljem knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Nisam uspeo da pošaljem sledeće knjige:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Poslato elektronskom poštom:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Vesti:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Priključeno je" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Poslao vesti za" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "Automatski konvertuj sledeće knjige pre slanja na uređaj?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "Šaljem katalog na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Šaljem vesti na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "Šaljem knjige na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6357,11 +6354,11 @@ msgstr "" "odgovarajući formati. Morate prvo konvertovati knjige u format koji vaš " "uređaj podržava." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Na uređaju nema dovoljno mesta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6501,7 +6498,7 @@ msgstr "Putanja iz biblioteke" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Ime" @@ -6555,7 +6552,7 @@ msgid "No location selected" msgstr "Nije izabrana nijedna lokacija" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "Neispravna lokacija" @@ -6815,50 +6812,50 @@ msgstr "Traži/Zameni" msgid "Working" msgstr "Radim" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Mala slova" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Velika slova" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Veličina slova za naslov" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "Odgovarajući znaci" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "Regularni izraz" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "Polje za izmenu" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "Dodaj na početak polja" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "Dodaj na kraj polja" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "Promeni meta informacije za %d knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "Knjiga %d:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6871,7 +6868,7 @@ msgstr "" "i zamena u tekstualnim poljima korišćenjem regularnih izraza, ili prostog " "poređenja. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6887,7 +6884,7 @@ msgstr "" "pronađeni tekst mora biti identičani po veličini slova. Ako ovba opcija nije " "izabrana tekst će biti pronađen bez obzira na veličinu slova" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6912,30 +6909,30 @@ msgstr "" "izrazima u programskom jeziku python, a posebno informacije o funkciji 'sub' " "vidite ovo uputstvo." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "Morate navesti i ciljno polje ako je izvor složeno polje" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "Neispravna pretraga/zamena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "Autori ne mogu da budu prayni. Knjiga s naslovom %s nije obrađena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "Naslov ne može biti prazan. Knjiga s naslovom %s nije obrađena" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "Neispravan izraz za pretraživanje: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." @@ -6943,19 +6940,19 @@ msgstr "" "Primenjujem izmene na %d knjiga.\n" "Faza{0} {1}%%." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Popravi metapodatke" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "A&utomatski izaberi polje za sortiranje po imenu autora" -#: /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:338 msgid "Author s&ort: " msgstr "S&ortiranje po imenu autora: " -#: /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:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6963,64 +6960,64 @@ msgstr "" "Odredi kako će imena autora ove knjige biti korišćena za sortiranje. Na " "primer, Vuk Karadžić će biti sortiran kao Karadžić, Vuk." -#: /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:340 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:384 msgid "&Rating:" msgstr "&Ocena:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "Ocena za ovu knjigu. 0-5 zvezdica" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "Bez promene" -#: /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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr " zvezdica" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Dodaj &etikete: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "Otvori uređivač za etikete" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Izbriši etikete" -#: /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:351 msgid "Comma separated list of tags to remove from the books. " msgstr "" "Lista etiketa razdvojenih zarezima koja će biti uklonjena sa knjiga. " -#: /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:352 msgid "Check this box to remove all tags from the books." msgstr "Izaberite ovu opciju da uklonite sve etikete s knjiga" -#: /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 msgid "Remove all" msgstr "Ukloni sve" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" msgstr "Ako je označeno, serija će biti izbrisana" -#: /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:358 msgid "Clear series" msgstr "Izbriši seriju" -#: /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:359 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" @@ -7033,11 +7030,11 @@ msgstr "" "kojim ste ih izabrali. Tako, ako izaberete Knjigu A, a zatim Knjigu B,\n" "Knjiga A će imati broj 1 u seriji, a Knjiga B broj 2." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" msgstr "Automatski odredi brojeve knjiga u ovoj seriji" -#: /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:364 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" @@ -7047,15 +7044,15 @@ msgstr "" "u bazi podataka. Ako izaberete ovu opciju calibre će numerisanje\n" "početi od broja navedenog u ovom polju" -#: /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:368 msgid "Remove &format:" msgstr "Ukloni &format:" -#: /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:369 msgid "&Swap title and author" msgstr "&Zameni mesta imenima autora i naslovu" -#: /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:370 msgid "" "Force the title to be in title case. If both this and swap authors are " "checked,\n" @@ -7066,11 +7063,11 @@ msgstr "" "da se izmene mesta autoru i naslovu, veličina slova će biti promenjena posle " "izmene." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" msgstr "Promeni svako početno slovo u veliko" -#: /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:373 msgid "" "Remove stored conversion settings for the selected books.\n" "\n" @@ -7080,33 +7077,33 @@ msgstr "" "\n" "Naredne konverzije ovih knjiga će koristiti podrazumevane vrednosti." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "Ukloni &sačuvana podešavanja za konverziju izabranih knjiga" -#: /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:377 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:424 msgid "&Basic metadata" msgstr "&Osnovni metapodaci" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:377 +#: /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 "&Korisnički metapodaci" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 msgid "Search &field:" msgstr "Pretraži po&lje:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /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 "Naziv polja koje želite da pretražujete" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 msgid "Search mode:" msgstr "Način pretraživanja:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 +#: /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" @@ -7114,11 +7111,11 @@ msgstr "" "Izaberite da li ćete koristiti jednostavno traženje teksta, ili regularne " "izraze" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" msgstr "&Traži:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 +#: /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" @@ -7126,7 +7123,7 @@ msgstr "" "Unesite izraz za pretražiavnje, bilo običan tekst bilo regularni izraz, u " "zavisnosti od izabranog načina pretraživanja" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:384 +#: /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" @@ -7134,25 +7131,25 @@ msgstr "" "Izaberite ovu opciju ako tekst za pretraživanje mora odgovarati i po " "veličini slova. Ako opcija nije izabrana veličina slova neće biti bitna" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" msgstr "Razlikuj veličinu slova" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" msgstr "&Zameni sa:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 +#: /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" msgstr "Tekst za zaemnu. Pronađeni tekst će biti zamenjen ovim" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "Primeni sledeću funkciju posle zamene:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -7164,11 +7161,11 @@ msgstr "" "biće obrađeno celo polje. U načinu rada s regularnim izrazima biće obrađen " "samo pronađeni tekst." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" msgstr "&Ciljno polje:" -#: /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:393 msgid "" "The field that the text will be put into after all replacements. If blank, " "the source field is used." @@ -7176,15 +7173,15 @@ msgstr "" "Polje u koje će tekst biti smešten posle zamene. Ako je prazno biće " "korišćeno izvorno polje." -#: /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:394 msgid "Mode:" msgstr "Način rada:" -#: /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:395 msgid "Specify how the text should be copied into the destination." msgstr "Odredi kako će tekst biti kopiran u ciljno polje" -#: /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:396 msgid "" "If the replace mode is prepend or append, then this box indicates whether a " "comma or\n" @@ -7193,23 +7190,23 @@ msgstr "" "Ako je način izmene dodavanje ispred, ili iza, ovo polje označava da li će " "između originalnog i umetnutog teksta biti ubačen zarez, ili ništa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "koristi zarez" -#: /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:399 msgid "Test &text" msgstr "Test &tekst" -#: /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:400 msgid "Test re&sult" msgstr "Test re&zultat" -#: /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:401 msgid "Your test:" msgstr "Vaš test:" -#: /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:402 msgid "&Search and replace" msgstr "&Traži i zameni" @@ -7498,20 +7495,21 @@ msgstr "Potrebna je lozinka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Korisničko ime:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "&Lozinka:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Prikaži lozinku" @@ -8518,7 +8516,7 @@ msgid "Show books in the main memory of the device" msgstr "Prikaži knjige u osnovnoj memoriji uređaja" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "Kartica A" @@ -8527,7 +8525,7 @@ msgid "Show books in storage card A" msgstr "Prikaži knjige na memorijskoj kartici A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "Kartica B" @@ -8729,12 +8727,12 @@ msgid "LRF Viewer toolbar" msgstr "Traka sa alatkama za LRF čitač" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Sledeća strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Prethodna strana" @@ -8778,7 +8776,7 @@ msgid "Do not check for updates" msgstr "Ne proveravaj postojanje novije verzije" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Calibre biblioteka" @@ -8915,37 +8913,37 @@ msgstr "Knjiga nema ni naslov ni ISBN broj" msgid "No matches found for this book" msgstr "Nema rezultata za ovu knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "Nisam uspeo da preuzmem metapodatke" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "omot" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "Preuzeto" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "Nisam uspeo da preuzmem" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "%s %s za: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "Gotovo" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "Uspešno preuzeo metapodatke za %d od %d knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "Detalji" @@ -9883,7 +9881,7 @@ msgstr "" "uređaje podešavanjem dodatka za uređaj u meniju Podešavanja->Napredna->Dodaci" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Nisam uspeo da pokrenem server sadržaja" @@ -10102,7 +10100,7 @@ msgstr "&Trenutno aktivna podešavanja" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Traži" @@ -10245,7 +10243,7 @@ msgstr "" "Izmena metapodataka za ovoliko knjiga može potrajati. Da li ste sigurni?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "Pretrage" @@ -10338,15 +10336,15 @@ msgstr "" "Ove knjige su već konvertovane u format %s. Da li želite da ih ponovo " "konvertujete?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "V&rati na ekran" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "Pošaljite &donaciju da podržite razvoj calibre programa" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "Isključi pov&ezani uređaj" @@ -10354,12 +10352,12 @@ msgstr "Isključi pov&ezani uređaj" msgid "Calibre Quick Start Guide" msgstr "Kratko uputstvo za Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:437 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Greška u konverziji" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10367,15 +10365,15 @@ msgstr "" "

Nisam uspeo da konvertujem: %s

Knjiga je zaštićena DRMom. Prvo morate ukloniti DRM nezavisnim alatima." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "Recept je isključen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Neuspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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. " @@ -10385,12 +10383,12 @@ msgstr "" "koristi molim vas da razmislite o mogućnosti da napravite donaciju u korist " "daljeg razvoja. Vaše donacije pomažu da se razvoj calibrea nastavi." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Još uvek ima aktivnih poslova. Da li ste sigurni da želite da prekinete rad?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10401,11 +10399,11 @@ msgstr "" "uređaju.
\n" " Da li ste sigurni da želite da prekinete rad?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "UPOZORENJE: Aktivni poslovi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10646,36 +10644,36 @@ msgstr "Veličina štampanih slova u px" msgid "The standard font type" msgstr "Standardna vrsta slova" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "&Pronađi u rečniku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Idi na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "Sledeći odeljak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "Prethodni odeljak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "Početak dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "Kraj dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "Početak odeljka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "Kraj odeljka" @@ -10944,7 +10942,7 @@ msgstr "Sakrij" msgid "Toggle" msgstr "Prebaci" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10954,14 +10952,14 @@ msgstr "" "telefonu, možete pristupiti vašoj calibre biblioteci direktno na uređaju. Da " "biste ovo postigli morate uključiti server sadržaja." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Ne zaboravite da ostavite calibre pokrenut, jer server inače neće raditi." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10971,20 +10969,20 @@ msgstr "" "WordPlayeru. Ovde mojhost treba da bude puno ime, ili IP adresa računara na " "kome ste pokrenuli calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "Premeštam biblioteku..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Nisam uspeo da premestim biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Neispravna baza podataka" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -10992,21 +10990,21 @@ msgstr "" "

U %s već postoji jedna neispravna biblioteka. Izbrišite je pre nego što " "premestite ovu biblioteku.
Greška: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "Nisam uspeo da premestim biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Izaberite putanju za knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Morate izabrati prazan direktorijum za calibre biblioteku. %s nije prazan." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "čarobnjak za dobrodošlicu" @@ -11111,49 +11109,79 @@ msgstr "" "Ako već imate calibre biblioteku ona će biti kopirana na novo mesto. Ako " "tamo već postoji biblioteka calibre će nastaviti da je koristi." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "Koristim: %s:%s@%s:%s i %s način šifrovanja" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "Šaljem..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Pošta je uspešno poslata" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Završi podešavanje gmaila" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Ne zaboravite da unesete gmail korisničko ime i lozinku. Besplatan gmail " -"nalog možete otvoriti na http://gmail.com" +"Ako podešavate novi Hotmail nalog morate se prvo prijaviti na njega bar " +"jednom pre nego što s njega možete da šaljete poštu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" +"Možete se projaviti za besplatan {name} nalog na http://{url}. {extra}" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "Vaša %s &elektronska adresa" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "Vaše &s &korisničko ime:" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "Vaša %s &lozinka:" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" +"Ako nameravate da korisite elektronsku poštu da šaljete knjige na vaš " +"Kindle, ne zaboravite da dodate vašu %s elektronsku adresu na vašoj Amazon " +"Kindle internet stranici" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "Podešavanje" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Loša konfiguracija" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Morate postaviti elektronsku adresu pošiljaoca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Morate postaviti korisničko ime i lozinku za server elektronske pošte." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "&Pošiljalac:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Ovo će se naći u From: polju poruka koje će calibre slati.
Ovde " "navedite svoju elektronsku adresu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -11169,50 +11197,50 @@ msgstr "" "

Server za elektronsku poštu je koristan ako onaj kome šaljete poštu " "prihvata poruke samo sa dobro poznatih servisa elektronske pošte." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Server elektronske pošte" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "calibre može opciono da koristi server za slanje elektronskih poruka" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Server" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "Naziv vašeg servera elektronske pošte. Na primer smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Port:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "Port na kome vaš server elektronske pošte očekuje poruke. Podrazumeva se 25" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "Vaše korisničko ime na serveru elektronske pošte" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "Vaša lozinka na serveru elektronske pošte" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Prikaži" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "Ši&frovanje:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." @@ -11220,23 +11248,27 @@ msgstr "" "Koristi TLS šifrovanje u komunikaciji sa serverom elektronske pošte. Ovo je " "najuobičajenija opcija." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Koristi SSL šifrovanje u komunikaciji sa serverom elektronske pošte." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Koristi Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "Koristi Hotmail" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Probna poruka" @@ -11303,7 +11335,7 @@ msgstr "prazno" msgid "empty" msgstr "prazno" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11317,7 +11349,7 @@ msgstr "" "Podrazumeva se: '%%default'\n" "Važi za: CSV, XML izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11329,7 +11361,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: CSV, XML izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -11343,7 +11375,7 @@ msgstr "" "Podrazumeva se: '%%default'\n" "Važi za: BIBTEX izlazni format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -11355,7 +11387,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -11367,7 +11399,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -11381,7 +11413,7 @@ msgstr "" "Podrazumeva se: '%%default'\n" "Važi za: BIBTEX izlazni format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -11393,7 +11425,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -11405,7 +11437,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni form" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -11417,7 +11449,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni form" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11427,7 +11459,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11440,7 +11472,7 @@ msgstr "" "Podrazumeva se: '%default'None\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11451,7 +11483,7 @@ msgstr "" "'[]'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11464,7 +11496,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11474,7 +11506,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11484,7 +11516,7 @@ msgstr "" "Podrazumava se: '%default'\n" "Odnosi se na: ePub i MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11494,7 +11526,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11504,7 +11536,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11518,7 +11550,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11533,7 +11565,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11543,6 +11575,16 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" +"Etiketa koja određuje knjigu koja će biti prikazana u spisku želja.\n" +"Podrazumeva se: '%default'\n" +"Važi za: ePub i MOBI izlazne formate" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "Neispravni naslovi" @@ -12252,36 +12294,36 @@ msgstr "" "Etiketa sme sadržati samo mala slova, cifre i donje crte, i mora početi " "slovom." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "%sSrednja ocena je %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "Osnovna" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

Prevodim staru bazu podataka u biblioteku e-knjiga u %s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2350 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "Kopiram %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "Sažimam bazu podataka" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "Proveravam ispravnost SQLa..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "Tražim nepostojeće fajlove." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "Proverio identifikator" @@ -12506,128 +12548,129 @@ msgstr "" "Prefiks koji će biti dodat svim URLovima. Korisno za reverseproxying ka ovom " "serveru iz Apache/nginx/itd." -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "Lozinka za pristup vašoj calibre biblioteci. Korisničko ime je " - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "Učitavam. Molim sačekajte." -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "Idi na" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "Prvi" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "Poslednji" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "Prethodni" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "Sledeći" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "Pregled %d knjiga" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "Prosečna ocena" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "%s: %.1f zvezdica" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "%d zvezdica" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "Popularnost" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "Sortiraj po" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "biblioteka" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "početna" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "Najnovije" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "Sve knjige" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "Pregledaj knjige po" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "Izaberi kategoriju po kojoj će se pregledati:" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "Pregled po" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "Gore" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "u" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "Knjige u" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "Drugi formati" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "Čitaj %s u formatu %s" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "Preuzmi" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "Trajni link" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "Trajni link ka ovoj knjizi" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "Ova knjiga je obrisana" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "u pretrazi" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "Odgovarajuće knjige" @@ -12968,7 +13011,7 @@ msgstr "Nisam uspeo da dogovorim SSH sesiju: " msgid "Failed to authenticate with server: %s" msgstr "Nije uspelo prijavljivanje na server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Kontrola dostave elektronske pošte" @@ -13224,6 +13267,13 @@ msgstr "Ne preuzimaj CSS stilove." #~ msgid "Communicate with the Teclast K3 reader." #~ msgstr "Uspostavi komunikaciju s Teclast K3 čitačem." +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Srednja dužina reda za prelom ako je HTML fajl rezultat prethodne konverzije " +#~ "iz PDF fajla. Podrazumeva se %default i ta vrednost isključuje ovu opciju." + #~ msgid "EDITORIAL REVIEW" #~ msgstr "REČ UREDNIKA" @@ -13535,6 +13585,16 @@ msgstr "Ne preuzimaj CSS stilove." #~ "%d\n" #~ "knjiga" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Ne zaboravite da unesete gmail korisničko ime i lozinku. Besplatan gmail " +#~ "nalog možete otvoriti na http://gmail.com" + +#~ msgid "Finish gmail setup" +#~ msgstr "Završi podešavanje gmaila" + #~ msgid "" #~ "The format in which to output the data. Available choices: %s. Defaults is " #~ "text." @@ -13553,6 +13613,9 @@ msgstr "Ne preuzimaj CSS stilove." #~ "Zarezima razdvojena lista formata u kojima će knjiga biti snimljena. " #~ "Podrazumeva se da će biti snimljeni svi raspoloživi formati." +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Lozinka za pristup vašoj calibre biblioteci. Korisničko ime je " + #~ msgid "" #~ "[options]\n" #~ "\n" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index 0c7940a1a7..2b6baaa501 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-12 23:11+0000\n" -"PO-Revision-Date: 2010-11-13 05:27+0000\n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-19 23:44+0000\n" "Last-Translator: sksy \n" "Language-Team: Thai \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-14 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:345 @@ -40,7 +40,7 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:650 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 @@ -49,8 +49,8 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 #: /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:343 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:346 +#: /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/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 @@ -118,10 +118,10 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 @@ -130,10 +130,10 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:927 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1249 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 @@ -146,14 +146,14 @@ msgstr "ไม่มีอะไรเลย" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:399 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:411 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1283 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1387 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2161 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2163 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2295 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -265,43 +265,43 @@ msgstr "อ่านข้อมูลจากหนังสือในไฟ msgid "Set metadata from %s files" msgstr "ตั้งค่าข้อมูลจาก %s ไฟล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:712 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "รูปลักษณ์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:726 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "ส่วนติดต่อ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:718 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "ปรับเปลี่ยนรูปลักษณ์ให้เหมาะกับรสนิยมในการใช้งานของคุณเอง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:724 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "พฤติกรรม" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:730 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "เปลี่ยนแปลงพฤติกรรมในการทำงานของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "เพิ่มคอลัมน์ของคุณเอง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:741 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "เพิ่ม/ลดคอลัมน์ของคุณเองในรายการหนังสือของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "ปรับเปลี่ยนทูลบาร์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:752 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -309,87 +309,87 @@ msgstr "" "ปรับเปลี่ยนทูลบาร์และเมนูเนื้อหา " "โดยกำหนดการเรียกใช้โปรแกรมในแต่ละเมนูและทูลบาร์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:758 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "ตัวเลือกอินพุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:760 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:771 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "แปลงไฟล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:764 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้เฉพาะเจาะจงกับรูปแบบอินพุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "ตัวเลือกทั่วไป" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:775 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้ใช้กับทุกรูปแบบ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "ตัวเลือกเอาท์พุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:786 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "กำหนดตัวเลือกในการแปลงไฟล์ให้เฉพาะเจาะจงกับรูปแบบเอาท์พุท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "เพิ่มหนังสือ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:793 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:805 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "นำเข้า/ส่งออก" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:797 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "ควบคุมให้ calibre อ่านชุดข้อมูลจากไฟล์ในเวลาที่เพิ่มหนังสือ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:803 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "บันทึกหนังสือลงดิสก์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:809 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" msgstr "ควบคุมให้ calibre ส่งออกไฟล์จากฐานข้อมูลลงดิสก์เวลาสั่งบันทึก" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:815 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "ส่งหนังสือไปยังอุปกรณ์ปลายทาง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:821 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "ควบคุมให้ calibre ส่งถ่ายไฟล์ลงในอีบุคส์รีดเดอร์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:827 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:833 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "แบ่งปันทางอีเมลล์" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:840 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:852 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "แบ่งปัน" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -397,11 +397,11 @@ msgstr "" "การตั้งค่าแบ่งปันทางอีเมลล์สามารถใช้เป็นช่องทางในการส่งข้่าวสารการเดาน์โหลดโด" "ยอัตโนมัติไปยังอุปกรณ์ปลายทางของท่านได้" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:850 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" msgstr "แบ่งปันผ่านเน็ท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -409,33 +409,33 @@ msgstr "" "ตั้งค่าให้ calibre เป็นเซิฟเวอร์จะทำให้คุณสามารถเข้ามายังห้องสมุด calibre " "ของคุณจาก ณ ที่แห่งใดก็ได้ จากอุปกรณ์สื่อสารใดก็ได้ผ่านอินเตอร์เน็ท" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:863 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "ปลั๊กอิน" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:877 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:888 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "เชี่ยวชาญ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:869 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" msgstr "เพิ่ม/ลด/ปรับแต่ง ฟังก์ชั่นต่างๆของ calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:875 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" msgstr "ปรับแต่ง" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:881 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" msgstr "ปรับพฤติกรรมของ calibre ที่จะตอบสนองกับส่วนต่างๆอย่างละเอียด" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" msgstr "อื่นๆ" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:892 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" msgstr "การปรับแต่งค่าตั้งต้นอื่นๆ" @@ -757,18 +757,18 @@ 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:257 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:212 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:225 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2021 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "ข่าว" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1984 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2002 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "บัญชีรายชื่อ" @@ -794,6 +794,10 @@ msgstr "โกวิท เกาะยาง(kidding)" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "ติดต่อกับ Cybook Gen 3 / Opus eBook reader" +#: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 +msgid "Communicate with the Cybook Orizon eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "ติดต่อกับ EB600 eBook reader" @@ -1994,12 +1998,6 @@ msgid "" "pipeline." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" msgstr "" @@ -2362,7 +2360,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:623 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "" @@ -2737,7 +2735,7 @@ msgstr "" msgid "%s format books are not supported" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "" @@ -2748,7 +2746,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:621 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "" @@ -3033,7 +3031,7 @@ msgid "" "Specify the character encoding of the output document. The default is cp1252." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" @@ -3239,7 +3237,7 @@ msgid "Disable UI animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:494 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "" @@ -3251,7 +3249,7 @@ msgstr "" msgid "Copy to Clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:466 msgid "Choose Files" msgstr "" @@ -3406,7 +3404,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:548 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "" @@ -3501,7 +3499,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:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3525,7 +3523,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:140 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "" @@ -3727,9 +3725,9 @@ 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:720 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:685 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "" @@ -3790,14 +3788,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "" @@ -3938,7 +3936,7 @@ msgid "covers" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "" @@ -4111,7 +4109,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:628 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "" @@ -4249,7 +4247,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:869 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "" @@ -4529,7 +4527,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 #: /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 @@ -4572,7 +4570,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "" @@ -4652,23 +4650,23 @@ msgstr "" msgid "E-book options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -4677,22 +4675,26 @@ msgid "" "Genre Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "" @@ -5168,7 +5170,7 @@ 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:335 +#: /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 msgid "&Author(s): " msgstr "" @@ -5184,7 +5186,7 @@ msgid "" 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:344 +#: /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 msgid "&Publisher: " msgstr "" @@ -5195,7 +5197,7 @@ 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:346 +#: /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 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5203,7 +5205,7 @@ msgid "" 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:353 +#: /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/search_ui.py:214 msgid "&Series:" @@ -5211,8 +5213,8 @@ 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:354 #: /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 msgid "List of known series. You can add new series." @@ -5714,7 +5716,7 @@ msgid "Automatically number books" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 -#: /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 msgid "Force numbers to start with " msgstr "" @@ -5730,228 +5732,225 @@ msgstr "" msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:658 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:679 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:726 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:727 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 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:770 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:772 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:885 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:888 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:889 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:937 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:938 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:939 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:952 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:982 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:990 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1089 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1174 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1293 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1301 -msgid "No suitable formats" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:983 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1009 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1010 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1014 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1048 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1049 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1060 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1175 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1294 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1207 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1260 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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:1366 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6081,7 +6080,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "" @@ -6132,7 +6131,7 @@ msgid "No location selected" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:635 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "" @@ -6378,50 +6377,50 @@ msgstr "" msgid "Working" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:184 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 #: /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:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 #: /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:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /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:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:193 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:194 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:274 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " "permanent. There is no undo function. You are strongly encouraged to back up " @@ -6429,7 +6428,7 @@ msgid "" "character matching or regular expressions. " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:282 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6439,7 +6438,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:293 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6454,110 +6453,110 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:530 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:538 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:633 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 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:539 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 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:634 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:671 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:334 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" 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:338 msgid "Author s&ort: " 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:339 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:339 +#: /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 msgid "&Rating:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:340 #: /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 msgid "Rating of this book. 0-5 stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" 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:344 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:387 msgid " stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:347 #: /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 msgid "Open Tag Editor" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" 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:351 msgid "Comma separated list of tags to remove from the books. " 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:352 msgid "Check this box to remove all tags 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:353 msgid "Remove all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" 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:358 msgid "Clear series" 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:359 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" @@ -6565,110 +6564,110 @@ 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:362 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" 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:364 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:367 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "Remove &format:" 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:369 msgid "&Swap title and author" 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:370 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:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" 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:373 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:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" 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: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:377 +#: /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:378 +#: /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:379 +#: /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:380 +#: /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:381 +#: /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:382 +#: /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:383 +#: /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:384 +#: /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:385 +#: /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:386 +#: /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:387 +#: /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" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:388 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -6676,48 +6675,48 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:393 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" 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:395 msgid "Specify how the text should be copied into the destination." 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:396 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:397 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" 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:399 msgid "Test &text" 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:400 msgid "Test re&sult" 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:401 msgid "Your test:" 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:402 msgid "&Search and replace" msgstr "" @@ -6987,20 +6986,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "" @@ -7939,7 +7939,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:848 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "" @@ -7948,7 +7948,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:850 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "" @@ -8144,12 +8144,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:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 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:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "" @@ -8193,7 +8193,7 @@ msgid "Do not check for updates" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:643 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "" @@ -8320,37 +8320,37 @@ msgstr "" msgid "No matches found for this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9184,7 +9184,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "" @@ -9380,7 +9380,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:250 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "" @@ -9522,7 +9522,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:320 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "" @@ -9610,15 +9610,15 @@ msgid "" "reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "" @@ -9626,48 +9626,48 @@ msgstr "" 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:465 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:438 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 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:451 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:502 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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:528 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 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:535 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -9899,36 +9899,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /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:478 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "" @@ -10189,59 +10189,59 @@ msgstr "" msgid "Toggle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:389 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:391 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:484 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:539 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:622 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "" @@ -10328,121 +10328,150 @@ msgid "" "will switch to using it." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

This is what will be present in the From: field of emails sent by " "calibre.
Set it to your email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "" @@ -10505,7 +10534,7 @@ msgstr "" msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10514,7 +10543,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10522,7 +10551,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10531,7 +10560,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10539,7 +10568,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -10547,7 +10576,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -10556,7 +10585,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -10564,7 +10593,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -10572,7 +10601,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -10580,14 +10609,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -10596,14 +10625,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -10612,35 +10641,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -10649,7 +10678,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -10659,13 +10688,20 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -11207,35 +11243,35 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:82 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:846 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2321 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 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:2334 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2367 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2460 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2499 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2521 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "" @@ -11425,128 +11461,129 @@ msgid "" "from Apache/nginx/etc." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:150 -msgid "Password to access your calibre library. Username is " -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:51 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:405 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 msgid "Loading, please wait" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Last" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:80 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "Previous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:81 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 msgid "Next" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:83 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:99 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:225 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 msgid "Average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:100 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:133 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:226 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:245 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 msgid "Sort by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 msgid "library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:249 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 msgid "home" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:310 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:516 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:311 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:517 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 msgid "All books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:344 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 msgid "Browse books by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:349 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:425 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:426 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:547 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:550 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:602 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:609 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:614 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:629 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:630 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:725 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:727 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" msgstr "" @@ -11863,7 +11900,7 @@ msgstr "" msgid "Failed to authenticate with server: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:234 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "" From 3762824ec69c636bad339b7b8d25e682c76a378e Mon Sep 17 00:00:00 2001 From: Translators <> Date: Sun, 21 Nov 2010 04:47:53 +0000 Subject: [PATCH 02/80] Launchpad automatic translations update. --- src/calibre/translations/ca.po | 31 ++-- src/calibre/translations/cs.po | 311 ++++++++++++++++++++++----------- src/calibre/translations/da.po | 32 ++-- src/calibre/translations/el.po | 2 +- src/calibre/translations/es.po | 32 ++-- src/calibre/translations/fr.po | 91 +++++++--- src/calibre/translations/gl.po | 2 +- src/calibre/translations/nb.po | 2 +- src/calibre/translations/nl.po | 46 +++-- src/calibre/translations/th.po | 2 +- 10 files changed, 365 insertions(+), 186 deletions(-) diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 1e259ebf0b..1780130d60 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:32+0000\n" +"PO-Revision-Date: 2010-11-20 12:44+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-11-20 05:03+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -820,7 +820,7 @@ msgstr "Comunica't amb un lector 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 "Comunica't amb un lector Cybook Orizon." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -5110,7 +5110,7 @@ msgstr "Inclou la secció «Sèrie»" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Etiqueta de llista de desitjos:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -11250,24 +11250,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Si esteu configurant un nou compte de hotmail heu d'iniciar la sessió un cop " +"per poder enviar correus." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Podeu sol·licitar un compte de correu electrònic {name} gratuït a http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "%s adreça de correu &electrònic:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "%s nom d'&usuari:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "%s &contrasenya" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11275,10 +11279,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Si penseu enviar llibres per correu electrònic al Kindle, recordeu que heu " +"d'afegir la vostra adreça %s a les adreces permeses a la vostra pàgina de " +"gestió del Kindle d'Amazon.com." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Configura" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11385,7 +11392,7 @@ msgstr "Fes servir el Gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Fes servir el Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11704,6 +11711,10 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Etiqueta que fa que el llibre es mostri com a element de la llista de " +"desitjos.\n" +"Per defecte: «%default»\n" +"S'aplica a formats de sortida ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12692,7 +12703,7 @@ msgstr "S'està carregant" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Vés a" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index e02ea4f7b0..575f5c9c04 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:02+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-20 22:11+0000\n" +"Last-Translator: Aleš Bajtalon \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -2013,19 +2013,22 @@ msgstr "" msgid "" "Template used for generation of the html index file instead of the default " "file" -msgstr "" +msgstr "Šablona použitá ke generování html indexu místo výchozího souboru" #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:39 msgid "" "Template used for the generation of the html contents of the book instead of " "the default file" msgstr "" +"Šablona použitá ke generování html obsahu knihy místo výchozího souboru" #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:42 msgid "" "Extract the contents of the generated ZIP file to the specified directory. " "WARNING: The contents of the directory will be deleted." msgstr "" +"Extrahovat obsah generovaného ZIP souboru do specifikovaného adresáře. " +"VAROVÁNÍ: Obsah adresáře bude smazán." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." @@ -2274,7 +2277,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:104 msgid "Add extra spacing below the header. Default is %default pt." -msgstr "" +msgstr "Přidat extra místo pod hlavičkou. Výchozí je %default pt." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:107 msgid "" @@ -2478,7 +2481,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." -msgstr "" +msgstr "Nastavit obálku specifikovaného souboru." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:58 msgid "Set the book category." @@ -2630,7 +2633,7 @@ msgstr "Stáhnout sociální metadata z amazon.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 msgid "Downloads series/tags/rating information from librarything.com" -msgstr "" +msgstr "Stáhnout sérii/tagy/hodnocení z librarything.com" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 msgid "" @@ -2890,6 +2893,9 @@ msgid "" "\n" "Crop a PDF file.\n" msgstr "" +"[options] file.pdf\n" +"\n" +"Ořiznout PDF soubor.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:38 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:32 @@ -2906,19 +2912,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:41 msgid "Number of pixels to crop from the left most x (default is %s)" -msgstr "" +msgstr "Počet pixelů k oříznutí zleva x (výchozí je %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:44 msgid "Number of pixels to crop from the left most y (default is %s)" -msgstr "" +msgstr "Počet pixelů k oříznutí zleva y (výchozí je %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:47 msgid "Number of pixels to crop from the right most x (default is %s)" -msgstr "" +msgstr "Počet pixelů k oříznutí zprava x (výchozí je %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:50 msgid "Number of pixels to crop from the right most y (default is %s)" -msgstr "" +msgstr "Počet pixelů k oříznutí zprava y (výchozí je %s)" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:53 msgid "" @@ -2946,6 +2952,9 @@ msgid "" "\n" "Decrypt a PDF.\n" msgstr "" +"[options] file.pdf heslo\n" +"\n" +"Dekryptovat PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/decrypt.py:60 msgid "Decrypt Options:" @@ -2957,6 +2966,9 @@ msgid "" "\n" "Encrypt a PDF.\n" msgstr "" +"[options] file.pdf heslo\n" +"\n" +"Zakryptovat PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/encrypt.py:54 msgid "Encrypt Options:" @@ -2968,6 +2980,9 @@ msgid "" "\n" "Get info about a PDF.\n" msgstr "" +"file.pdf ...\n" +"\n" +"Získat informace o PDF.\n" #: /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 @@ -3003,6 +3018,11 @@ msgid "" "\n" "Merges individual PDFs.\n" msgstr "" +"[options] file1.pdf file2.pdf ...\n" +"\n" +"Metadata se použijí z prvního PDF souboru.\n" +"\n" +"Spojí individuální PDF soubory.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/merge.py:56 msgid "Merge Options:" @@ -3014,6 +3034,9 @@ msgid "" "\n" "Reverse a PDF.\n" msgstr "" +"[options] file.pdf\n" +"\n" +"Reverse a PDF.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" @@ -3025,6 +3048,9 @@ msgid "" "\n" "Rotate pages of a PDF clockwise.\n" msgstr "" +"file.pdf stupně\n" +"\n" +"Otočit PDF soubor ve směru hodinových ručiček.\n" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:53 msgid "Rotate Options:" @@ -3078,6 +3104,8 @@ msgid "" "Preserve the aspect ratio of the cover, instead of stretching it to fill the " "ull first page of the generated pdf." msgstr "" +"Zachovat poměr stran obálky, neroztahovat na celou první stránku vytvořeného " +"pdf." #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/pdftohtml.py:55 msgid "Could not find pdftohtml, check it is in your PATH" @@ -3097,6 +3125,9 @@ msgid "" "first and then try it.\n" "%s" msgstr "" +"Tento RTF soubor používáfunkce, které calibre nepodporuje. Konvertujte jej " +"na HTML a zkuste to znovu.\n" +"%s" #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:25 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 @@ -3117,18 +3148,23 @@ msgstr "" msgid "" "Specify whether or not to insert an empty line between two paragraphs." msgstr "" +"Rozhodněte, zda vkládat, nebo nevkládat prázdný řádek mezi dva odstavce." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:40 msgid "" "Specify whether or not to insert two space characters to indent the first " "line of each paragraph." msgstr "" +"Rozhodněte, zda vkládat, nebo nevkládat dvě mezery na první řádek každého " +"odstavce." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44 msgid "" "Specify whether or not to hide the chapter title for each chapter. Useful " "for image-only output (eg. comics)." msgstr "" +"Rozhodněte, zda skrývat, nebo neskrývat název kapitoly pro každou kapitolu. " +"Použitelné pro image-only výstup, tj. komixy." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:122 msgid "Start Page" @@ -3137,7 +3173,7 @@ msgstr "Startovací stránka" #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:132 #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:134 msgid "Cover Pages" -msgstr "" +msgstr "Stránky s obálkami" #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:147 #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:150 @@ -3175,6 +3211,9 @@ msgid "" "for compatibility with Mac OS 9 and earlier. For Mac OS X use 'unix'. " "'system' will default to the newline type used by this OS." msgstr "" +"Typ nového řádku. Volby jsou %s. Výchozí je 'system'. Použijte 'old_mac' pro " +"kompatibilitu s Mac OS 9 a starší. Pro Mac OS X použijte 'unix'. 'system' " +"použije nastavení pro současný OS." #: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:30 msgid "" @@ -3288,7 +3327,7 @@ msgstr "Omezit maximální počet jobů na počet CPU" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:129 msgid "tag browser categories not to display" -msgstr "" +msgstr "kategorie, která se nebude zobrazovat" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:131 msgid "The layout of the user interface" @@ -3443,7 +3482,7 @@ msgstr "Chyba při čtení metadat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:222 msgid "Failed to read metadata from the following" -msgstr "" +msgstr "Nepodařilo se přečíst metadata z následujících" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:241 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 @@ -3480,7 +3519,7 @@ msgstr "Přidat knihy do Vaší calibre knihovny z připojeného zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 #: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" -msgstr "" +msgstr "Stáhnout anotace (experimentální)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:236 @@ -3490,7 +3529,7 @@ msgstr "Používat pouze knihovnu" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:237 msgid "User annotations generated from main library only" -msgstr "" +msgstr "Uživatelské anotace generované jen z hlavní knihovny" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:30 @@ -3555,6 +3594,8 @@ msgid "" "No books to catalog\n" "Check exclude tags" msgstr "" +"Žádné knihy ke katalogizaci\n" +"Zkontrolujte tagy, které se mají vynechat." #: /home/kovid/work/calibre/src/calibre/gui2/actions/catalog.py:69 msgid "Catalog generated." @@ -3680,6 +3721,8 @@ 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 "" +"Přejmenování knihovny do %s selhalo. Nejčastější příčinou je další program " +"využívající tato data." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:296 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:53 @@ -4157,7 +4200,7 @@ msgstr "Uložit jen formát %s na disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:72 msgid "Save only %s format to disk in a single directory" -msgstr "" +msgstr "Ukládat pouze %s formát na disk do jednotného adresáře." #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 msgid "Cannot save to disk" @@ -4250,7 +4293,7 @@ msgstr "Knihy se stejnými tagy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:54 msgid "Tweak ePub" -msgstr "" +msgstr "Vyladit ePub" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:16 msgid "Make small changes to ePub format books" @@ -4263,7 +4306,7 @@ msgstr "T" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:39 msgid "Cannot tweak ePub" -msgstr "" +msgstr "Nemohu vyladit ePub" #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:40 msgid "No ePub available. First convert the book to ePub." @@ -4303,6 +4346,9 @@ msgid "" "started the process cannot be stopped until complete. Do you wish to " "continue?" msgstr "" +"Snažíte se otevřít %d knih. Otevření tolika knih může být pomalé a má " +"negativní efekt na následné reakce počítače. Jednou nastartované procesy " +"nemohou být zastaveny, dokud nedoběhnou. Chcete pokračovat?" #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" @@ -4350,6 +4396,8 @@ msgid "" "The add books process seems to have hung. Try restarting calibre and adding " "the books in smaller increments, until you find the problem book." msgstr "" +"Proces přidávající knihy se zřejmě zasekl. Zkuste restartovat calibre a " +"přidat knihy v menších dávkách, dokud nenaleznete problémovou knihu." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:323 msgid "Duplicates found!" @@ -4667,7 +4715,7 @@ msgstr "Formulář" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 msgid "Bib file encoding:" -msgstr "" +msgstr "Kódování bib souborů." #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:43 @@ -4747,7 +4795,7 @@ msgstr "Tag 'Nezahrnovat tuto knihu':" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" -msgstr "" +msgstr "'Označit knihu jako přečtenou' tag" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" @@ -4784,7 +4832,7 @@ msgstr "Zahrň sekci Série" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Tag pro přání" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -5349,7 +5397,7 @@ msgstr "Zakázat kompresi souboru" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:76 msgid "Do not add Table of Contents to book" -msgstr "" +msgstr "Nepřidávat Obsah do knihy" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:77 msgid "Kindle options" @@ -5459,7 +5507,7 @@ msgstr "Nejsou dostupné žádné formáty" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:84 msgid "Cannot build regex using the GUI builder without a book." -msgstr "" +msgstr "Nemohu vytvořit regex pomocí GUI buildera bez knihy" #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:103 msgid "Open book" @@ -5606,19 +5654,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." -msgstr "" +msgstr "Nastavit vytvoření/konverzi obsahu." #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:30 msgid "Level &1 TOC (XPath expression):" -msgstr "" +msgstr "Obsah úroveň 1 (XPath výraz):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:31 msgid "Level &2 TOC (XPath expression):" -msgstr "" +msgstr "Obsah úroveň 2 (XPath výraz):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:32 msgid "Level &3 TOC (XPath expression):" -msgstr "" +msgstr "Obsah úroveň 3 (XPath výraz):" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:68 msgid "Do not add &detected chapters to the Table of Contents" @@ -5638,7 +5686,7 @@ msgstr "&Vždy použít automaticky generovaný obsah" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:72 msgid "TOC &Filter:" -msgstr "" +msgstr "Filtr obsahu:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" @@ -5646,7 +5694,7 @@ msgstr "TXT vstup" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:54 msgid "Process using markdown" -msgstr "" +msgstr "Zpracuj pomocí markdown" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:55 msgid "" @@ -5654,10 +5702,13 @@ msgid "" "advanced formatting. To learn more visit markdown." msgstr "" +"

Markdown je jednoduchý jazyk pro textové soubory, který umožňuje " +"pokročilé formátování. Pokud se chcete dozvědět více, navštivte markdown." #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:56 msgid "Do not insert Table of Contents into output text when using markdown" -msgstr "" +msgstr "Nevkládat obsah do výstupního textu, pokud se používá markdown" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:57 msgid "Preserve &spaces" @@ -6164,12 +6215,13 @@ msgstr "Kopírovat do schránky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:54 msgid "Names to ignore:" -msgstr "" +msgstr "Jména k ignorování:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:59 msgid "" "Enter comma-separated standard file name wildcards, such as synctoy*.dat" msgstr "" +"Vlož čárkou oddělená jména souborů se zástupnými znaky, např. synctoy*.dat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:62 msgid "Extensions to ignore" @@ -6180,6 +6232,7 @@ msgid "" "Enter comma-separated extensions without a leading dot. Used only in book " "folders" msgstr "" +"Vložte čárkou oddělené přípony bez tečky. Použité pouze ve složkách knih" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 msgid "Path from library" @@ -6337,7 +6390,7 @@ msgstr "Smazat ze zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:34 msgid "Author sort" -msgstr "" +msgstr "Třídění podle autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:115 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:590 @@ -6359,7 +6412,7 @@ msgstr "Seřadit dle autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:73 msgid "Sort by author sort" -msgstr "" +msgstr "Třídit podle autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:74 msgid "" @@ -6507,7 +6560,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" -msgstr "" +msgstr "Znaková shoda" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" @@ -6519,11 +6572,11 @@ msgstr "Nahradit pole" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" -msgstr "" +msgstr "Předřadit k poli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" -msgstr "" +msgstr "Přidat k poli" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" @@ -6601,7 +6654,7 @@ msgstr "Edituj metainformace" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" -msgstr "" +msgstr "Automaticky nastavit řazení dle autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:338 msgid "Author s&ort: " @@ -6651,7 +6704,7 @@ msgstr "Odst&ranit tagy:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:351 msgid "Comma separated list of tags to remove from the books. " -msgstr "" +msgstr "Čárkou oddělený seznam tagů, které se mají odebrat z knih. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:352 msgid "Check this box to remove all tags from the books." @@ -6663,11 +6716,11 @@ msgstr "Odstranit vše" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" -msgstr "" +msgstr "Pokud je zaškrtnuto, série se vyčistí" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:358 msgid "Clear series" -msgstr "" +msgstr "Vyčistit série" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:359 msgid "" @@ -6679,7 +6732,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" -msgstr "" +msgstr "Automaticky číslovat knihy v této sérii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:364 msgid "" @@ -6694,7 +6747,7 @@ msgstr "Odstranit &formát:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:369 msgid "&Swap title and author" -msgstr "" +msgstr "&Prohodit titul a autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:370 msgid "" @@ -6768,17 +6821,17 @@ msgstr "Rozlišovat velikost písmen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:387 msgid "&Replace with:" -msgstr "" +msgstr "&Nahradit čím:" #: /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" -msgstr "" +msgstr "Nahrazený text. Souhlasící text bude nahrazen tímto řetězcem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:389 msgid "Apply function after replace:" -msgstr "" +msgstr "Použij funkci po nahrazení:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:390 msgid "" @@ -6790,7 +6843,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" -msgstr "" +msgstr "&Cílové pole:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:393 msgid "" @@ -6804,7 +6857,7 @@ msgstr "Mód:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:395 msgid "Specify how the text should be copied into the destination." -msgstr "" +msgstr "Zvolte, jak bude text nakopírován do cíle." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:396 msgid "" @@ -6815,7 +6868,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" -msgstr "" +msgstr "použít čárku" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:399 msgid "Test &text" @@ -6892,6 +6945,8 @@ msgid "" " The green color indicates that the current author sort matches the current " "author" msgstr "" +" Zelená barva indikuje, že současné třídění podle autora se shoduje se " +"současným autorem" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:354 msgid "" @@ -7025,7 +7080,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:396 msgid "Remove unused series (Series that have no books)" -msgstr "" +msgstr "Odebrat nepoužité série (Série, které nemají knihy)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:398 msgid "IS&BN:" @@ -7061,7 +7116,7 @@ msgstr "Přidat nový formát této knihy do databáze" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:409 msgid "Remove the selected formats for this book from the database." -msgstr "" +msgstr "Odebrat vybrané formáty pro tuto knihu z databáze." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:411 msgid "Set the cover for the book from the selected format" @@ -7069,7 +7124,7 @@ msgstr "Nastavit obálku knihy pro zvolený formát" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:413 msgid "Update metadata from the metadata in the selected format" -msgstr "" +msgstr "Aktualizovat metadata z metadat ve zvoleném formátu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single_ui.py:416 msgid "&Browse" @@ -7131,11 +7186,11 @@ msgstr "Ruším..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor.py:54 msgid "" "The current saved search will be permanently deleted. Are you sure?" -msgstr "" +msgstr "Současné uložené hledání bude trvale smazané. Jste si jisti?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:88 msgid "Saved Search Editor" -msgstr "" +msgstr "Editor uložených hledání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:89 msgid "Saved Search: " @@ -7143,11 +7198,11 @@ msgstr "Uložit hledání: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:90 msgid "Select a saved search to edit" -msgstr "" +msgstr "Označte uložené hledání pro editaci" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:91 msgid "Delete this selected saved search" -msgstr "" +msgstr "Smazat toto uložené hledání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:93 msgid "Enter a new saved search name." @@ -7155,7 +7210,7 @@ msgstr "Zadejte nový název pro uložené hledání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:94 msgid "Add the new saved search" -msgstr "" +msgstr "Přidat nové uložené hledání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/saved_search_editor_ui.py:96 msgid "Change the contents of the saved search" @@ -7167,7 +7222,7 @@ msgstr "Potřebuji jméno a heslo" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:127 msgid "You must provide a username and/or password to use this news source." -msgstr "" +msgstr "Musíte poskytnout jméno a heslo pro použití tohoto zdroje zpráv." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:166 msgid "Account" @@ -7191,7 +7246,7 @@ msgstr "Naposledy staženo: nikdy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:207 msgid "%d days, %d hours and %d minutes ago" -msgstr "" +msgstr "%d dnů, %d hodin a %d minut staré" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:209 msgid "Last downloaded" @@ -7298,7 +7353,7 @@ msgstr "Účet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:220 msgid "For the scheduling to work, you must leave calibre running." -msgstr "" +msgstr "Pro funkční plánování musíte nechat calibre spuštěné." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:221 msgid "&Schedule" @@ -7306,11 +7361,11 @@ msgstr "&Naplánovat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:222 msgid "Add &title as tag" -msgstr "" +msgstr "Přidat název jako tag" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:223 msgid "&Extra tags:" -msgstr "" +msgstr "Extra tagy:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:224 msgid "&Advanced" @@ -7347,7 +7402,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:44 msgid "Negate" -msgstr "" +msgstr "Negovat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 msgid "Advanced Search" @@ -7402,7 +7457,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210 msgid "A&dvanced Search" -msgstr "" +msgstr "Pokročilé hledání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:212 msgid "Enter the title." @@ -7414,7 +7469,7 @@ msgstr "&Autor:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215 msgid "Ta&gs:" -msgstr "" +msgstr "Tagy:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:216 msgid "Enter an author's name. Only one author can be used." @@ -7427,7 +7482,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 msgid "Enter tags separated by spaces" -msgstr "" +msgstr "Vložte tagy oddělené mezerami" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219 msgid "&Clear" @@ -7443,7 +7498,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" -msgstr "" +msgstr "Zvolit formáty" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:97 @@ -9613,7 +9668,7 @@ msgstr "Rám" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:75 msgid "&Custom" -msgstr "" +msgstr "&Vlastní" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:76 msgid "&Shortcut:" @@ -9841,6 +9896,9 @@ msgid "" "%s has been updated to version %s. See the new features. Visit the download page?" msgstr "" +"%s byl aktualizován na verzi %s. Podívejte se na nové funkce. Navštívit " +"stránku pro stažení?" #: /home/kovid/work/calibre/src/calibre/gui2/update.py:59 msgid "Update available!" @@ -9962,25 +10020,28 @@ msgstr "Zapamatuj si posledně použitou velikost &okna" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:174 msgid "Maximum &view width:" -msgstr "" +msgstr "Maximální šířka &zobrazení:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:175 msgid "H&yphenate (break line in the middle of large words)" -msgstr "" +msgstr "Rozdělení slov (dělící čára uprostřed dlouhých slov)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:176 msgid "" "The default language to use for hyphenation rules. If the book does not " "specify a language, this will be used." msgstr "" +"Výchozí jazyk pro použítí pravidel dělení slov. Pokud nemá kniha přesně " +"určený jazyk, bude použit výchozí." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:177 msgid "Default &language for hyphenation:" -msgstr "" +msgstr "Výchozí &jazyk pro dělení slov:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:178 msgid "&Resize images larger than the viewer window (needs restart)" msgstr "" +"&Změnit velikost obrázků větších než okno prohlížeče (vyžadován restart)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:179 msgid "&User stylesheet" @@ -9992,7 +10053,7 @@ msgstr "&Hlavní" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:181 msgid "Double click to change a keyboard shortcut" -msgstr "" +msgstr "Dvakrát klikněte pro změnu klávesové zkratky" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:182 msgid "&Keyboard shortcuts" @@ -10022,19 +10083,21 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:46 msgid "Maximum width of the viewer window, in pixels." -msgstr "" +msgstr "Maximální šířka okna prohlížeče, v pixelech." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 msgid "Resize images larger than the viewer window to fit inside it" msgstr "" +"Změnit velikost obrázků větších než okno prohlížeče (dle velikosti tohoto " +"okna)" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 msgid "Hyphenate text" -msgstr "" +msgstr "Dělení slov v textu" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51 msgid "Default language for hyphenation rules" -msgstr "" +msgstr "Výchozí jazyk pro pravidla dělení slov" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 msgid "Font options" @@ -10234,6 +10297,8 @@ msgstr "" msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" +"Pokud je zadáno, pokusí se při spuštění otevřít okno prohlížeče na celou " +"obrazovku." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 msgid "Print javascript alert and console messages to the console" @@ -10300,7 +10365,7 @@ msgstr "Záložka" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:209 msgid "Toggle full screen" -msgstr "" +msgstr "Přepnout na celou obrazovku" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:210 msgid "Print" @@ -10332,11 +10397,11 @@ msgstr "Vložit obrázek" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:384 msgid "Change Case" -msgstr "" +msgstr "Změnit velikost písmen" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:387 msgid "Swap Case" -msgstr "" +msgstr "Zaměnit malá/velká písmena" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:858 msgid "Drag to resize" @@ -10457,12 +10522,16 @@ msgid "" "

Demo videos

Videos demonstrating the various features of calibre are " "available online." msgstr "" +"

Demo videa

Videa demonstrující různé funkce Calibre jsou dostupná online." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:51 msgid "" "

User Manual

A User Manual is also available online." msgstr "" +"

Uživatelská příručka

Uživatelská příručka je také dostupná online." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49 msgid "" @@ -10472,6 +10541,11 @@ msgid "" "button below. You will also have to register your gmail address in your " "Amazon account." msgstr "" +"

Calibre umožňuje automaticky zasílat knihy emailem na Váš Kindle. Níže je " +"možné nastavit emailové doručování. Nejjednodušším způsobem je nastavení gmail účtu a poté klikněte na tlačítko Použít " +"Gmail. Také budete muset zaregistrovat emailovou adresu služby Gmail ve " +"Vašem Amazon účtu." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50 msgid "&Kindle email:" @@ -10499,6 +10573,9 @@ msgid "" "location. If a calibre library already exists at the new location, calibre " "will switch to using it." msgstr "" +"Pokud máte existující Calibre knihovnu, bude zkopírována do nového umístění. " +"Pokud již Calibre knihovna existuje v novém umístění, Calibre ji přepne k " +"používání." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" @@ -10517,24 +10594,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Pokud nastavujete nový účet služby Hotmail, musíte se nejdříve přihlásit než " +"budete moci odeslat e-maily." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Můžete se přihlásit k bezplatnému {name} emailovému účtu zde http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Vaše %s &emailová adresa:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Vaše %s &uživatelské jméno:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Vaše %s &heslo:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -10542,10 +10623,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Pokud plánujete používat e-mail k posílání knih na Váš Kindle, nezapomeňte " +"přidat svoji %s emailovou adresu do povolených emailových adres na stránce " +"Amazon.com - správa Kindle." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Nastavení" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -10554,7 +10638,7 @@ msgstr "Špatná konfigurace" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" -msgstr "" +msgstr "Musíte zadat emailovou adresu odesílatele" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." @@ -10569,6 +10653,8 @@ msgid "" "

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

Toto bude uvedeno v poli Odesílatel u emailů odeslaných z Calibre.
" +"Zde nastavte Vaši emailovou adresu" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" @@ -10642,7 +10728,7 @@ msgstr "Použij Gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Použít Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -10680,7 +10766,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/caches.py:539 #: /home/kovid/work/calibre/src/calibre/library/caches.py:549 msgid "unchecked" -msgstr "" +msgstr "nezaškrtnuto" #: /home/kovid/work/calibre/src/calibre/library/caches.py:539 #: /home/kovid/work/calibre/src/calibre/library/caches.py:549 @@ -10691,7 +10777,7 @@ msgstr "ne" #: /home/kovid/work/calibre/src/calibre/library/caches.py:542 #: /home/kovid/work/calibre/src/calibre/library/caches.py:552 msgid "checked" -msgstr "" +msgstr "zaškrtnuto" #: /home/kovid/work/calibre/src/calibre/library/caches.py:542 #: /home/kovid/work/calibre/src/calibre/library/caches.py:552 @@ -10897,7 +10983,7 @@ msgstr "Chybějící knižní formáty" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:22 msgid "Extra book formats" -msgstr "" +msgstr "Další knižní formáty" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:23 msgid "Unknown files in books" @@ -10947,6 +11033,9 @@ msgid "" "please see the search related documentation in the User Manual. Default is " "to do no filtering." msgstr "" +"Filtrovat výsledky dotazu při vyhledávání. Pro zadání formátu dotazu " +"vyhledávání se podívejte do související dokumentace v uživatelské příručce. " +"Výchozí je neprovádět žádné filtrování." #: /home/kovid/work/calibre/src/calibre/library/cli.py:143 #: /home/kovid/work/calibre/src/calibre/library/cli.py:1044 @@ -11005,6 +11094,8 @@ msgid "" "Add books to database even if they already exist. Comparison is done based " "on book titles." msgstr "" +"Přidat knihy do databáze, i když již existují. Srovnání je prováděno na " +"základě názvů knih." #: /home/kovid/work/calibre/src/calibre/library/cli.py:285 msgid "Add an empty book (a book with no formats)" @@ -11050,7 +11141,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:383 msgid "You must specify an id and an ebook file" -msgstr "" +msgstr "Musíte zadat id a ebook soubor" #: /home/kovid/work/calibre/src/calibre/library/cli.py:388 msgid "ebook file must have an extension" @@ -11161,7 +11252,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "You must specify label, name and datatype" -msgstr "" +msgstr "Musíte zadat označení, název a datový typ" #: /home/kovid/work/calibre/src/calibre/library/cli.py:641 msgid "" @@ -11187,6 +11278,10 @@ msgid "" "please see the search-related documentation in the User Manual.\n" "Default: no filtering" msgstr "" +"Filtrování výsledků dotazu při vyhledávání. Pro zadání formátu dotazu při " +"vyhledávání se prosím podívejte do související dokumentace v uživatelské " +"příručce.\n" +"Výchozí: bez filtrování" #: /home/kovid/work/calibre/src/calibre/library/cli.py:665 #: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:499 @@ -11196,7 +11291,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:678 msgid "Error: You must specify a catalog output file" -msgstr "" +msgstr "Chyba: Musíte zadat výstupní soubor katalogu" #: /home/kovid/work/calibre/src/calibre/library/cli.py:727 msgid "" @@ -11218,7 +11313,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "Error: You must specify a field name, id and value" -msgstr "" +msgstr "Chyba: Musíte zadat název pole, id a hodnotu" #: /home/kovid/work/calibre/src/calibre/library/cli.py:768 msgid "" @@ -11231,15 +11326,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:775 msgid "Show details for each column." -msgstr "" +msgstr "Zobrazit podrobnosti pro každý sloupec." #: /home/kovid/work/calibre/src/calibre/library/cli.py:787 msgid "You will lose all data in the column: %r. Are you sure (y/n)? " -msgstr "" +msgstr "Ztratíte všechna data ve sloupci: %r. Jste si jisti (a/n)? " #: /home/kovid/work/calibre/src/calibre/library/cli.py:789 msgid "y" -msgstr "" +msgstr "a" #: /home/kovid/work/calibre/src/calibre/library/cli.py:795 msgid "" @@ -11253,7 +11348,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:803 msgid "Do not ask for confirmation" -msgstr "" +msgstr "Bez dotazu na potvrzení" #: /home/kovid/work/calibre/src/calibre/library/cli.py:813 msgid "Error: You must specify a column label" @@ -11397,7 +11492,7 @@ msgstr "Řetězec použitý k oddělení polí v režimu CSV. Výchozí je čár #: /home/kovid/work/calibre/src/calibre/library/cli.py:1085 msgid "CATEGORY ITEMS" -msgstr "" +msgstr "POLOŽKY KATEGORIE" #: /home/kovid/work/calibre/src/calibre/library/cli.py:1154 msgid "" @@ -11420,6 +11515,8 @@ msgid "" "The label must contain only lower case letters, digits and underscores, and " "start with a letter" msgstr "" +"Štítek musí obsahovat pouze malá písmena, číslice a podtržítka, a musí " +"začínat písmenem" #: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" @@ -11581,6 +11678,8 @@ msgid "" "The format in which to display dates. %d - day, %b - month, %Y - year. " "Default is: %b, %Y" msgstr "" +"Formát, ve kterém se zobrazí datumy. %d - den,%b - měsíc,%Y - rok. Výchozí " +"hodnota je:%b,%Y" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:98 msgid "Convert paths to lowercase." @@ -11600,7 +11699,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:25 msgid "The port on which to listen. Default is %default" -msgstr "" +msgstr "Port k naslouchání. Výchozí hodnota je %default" #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:27 msgid "The server timeout in seconds. Default is %default" @@ -11652,7 +11751,7 @@ msgstr "Načítání, prosím čekejte" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Přejít na" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" @@ -11672,7 +11771,7 @@ msgstr "Další" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 msgid "Browsing %d books" -msgstr "" +msgstr "Procházení %d knih" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 @@ -11752,7 +11851,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" -msgstr "" +msgstr "Stálý odkaz" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 msgid "A permanent link to this book" @@ -11807,15 +11906,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d book" -msgstr "" +msgstr "%d kniha" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:131 msgid "%d items" -msgstr "" +msgstr "%d položek" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:149 msgid "RATING: %s
" -msgstr "" +msgstr "HODNOCENÍ: %s
" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:152 msgid "TAGS: %s
" @@ -11905,7 +12004,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config.py:727 msgid "List of named saved searches" -msgstr "" +msgstr "Seznam uložených hledání" #: /home/kovid/work/calibre/src/calibre/utils/config.py:728 msgid "User-created tag browser categories" @@ -12177,7 +12276,7 @@ msgstr "Generování tiráže..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:952 msgid "Starting download [%d thread(s)]..." -msgstr "" +msgstr "Startuji download [%d vláken]" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 msgid "Feeds downloaded to %s" @@ -12209,7 +12308,7 @@ msgstr "Stažení článku selhalo: %s" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1299 msgid "Fetching feed" -msgstr "" +msgstr "Stahuji feed" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1446 msgid "" diff --git a/src/calibre/translations/da.po b/src/calibre/translations/da.po index a6f85c7871..b1b201726b 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 22:28+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-20 10:56+0000\n" +"Last-Translator: Glenn \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-11-20 05:03+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -808,7 +808,7 @@ msgstr "Kommunikér med Cybook Gen 3 / Opus eBook reader" #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "" +msgstr "Kommunikér med Cybook Orizon eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -5041,7 +5041,7 @@ msgstr "Inkludér 'serie' sektion" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Ønskeliste mærke:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -11100,24 +11100,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Hvis du konfigurerer en ny hotmail-konto, skal du logge ind i den en gang " +"for at kan komme til at sende emails." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Du kan ansøge om en gratis {name} email-konto på http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Din %s &email-adresse:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Dit %s &brugernavn:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Dit %s &kodeord:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11125,10 +11129,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Hvis du planlægger at sende e-bøger til Kindle via email, så husk at tilføje " +"din %s email-adresse til tilladte email-adresser i din Amazon.com Kindle " +"forvaltningsside (management-side)." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Konfiguration" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11233,7 +11240,7 @@ msgstr "Brug Gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Anvend Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11549,6 +11556,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Mærk indikeret bog til at blive vist som ønskeliste emne.\n" +"Standard: '%default'\n" +"Anvendes på: ePub, MOBI output-formater" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12522,7 +12532,7 @@ msgstr "Henter, vent venligst" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Gå til" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" diff --git a/src/calibre/translations/el.po b/src/calibre/translations/el.po index 574a0b9de8..a1b183afa1 100644 --- a/src/calibre/translations/el.po +++ b/src/calibre/translations/el.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index f400074abc..1ddd21c36d 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -11,13 +11,13 @@ msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:08+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-20 21:16+0000\n" +"Last-Translator: Jellby \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 @@ -822,7 +822,7 @@ msgstr "Comunicarse con el lector 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 "Comunicar con el lector Cybook Orizon." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -5116,7 +5116,7 @@ msgstr "Incluir la sección \"Serie\"" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Etiqueta de deseado:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -11273,24 +11273,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Si está estableciendo una nueva cuenta de hotmail, debe entrar en ella una " +"vez antes de poder enviar correos." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Puede solicitar una cuenta de correo electrónico {name} gratuita en http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Su &dirección de correo de %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Su nombre de &usuario de %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Su &contraseña de %s:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11298,10 +11302,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Si piensa usar el correo electrónico para enviar libros a su Kindle, " +"recuerde añadir su dirección de correo de %s a las direcciones de correo " +"permitias en su página de gestión de Kindle en Amazon.com." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Configuración" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11410,7 +11417,7 @@ msgstr "Usar &gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Usar Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11732,6 +11739,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Etiqueta que indica que un libro se mostrará como deseado.\n" +"Valor predeterminado: '%default'\n" +"Se aplica a: formatos de salida ePub y MOBI" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12721,7 +12731,7 @@ msgstr "Cargando. Por favor, espere" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Ir a" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index 28aaab9670..c3d5a6723a 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:23+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-20 16:27+0000\n" +"Last-Translator: sengian \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-11-20 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:46+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" @@ -817,7 +817,7 @@ msgstr "Communiquer avec le lecteur eBook 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 "Communiquer avec le lecteur d'ebooks Cybook Orizon." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -1068,7 +1068,7 @@ msgstr "Nook Couleur" #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 msgid "Communicate with the Nook Color eBook reader." -msgstr "" +msgstr "Communiquer avec le lecteur d'ebooks Nook Color." #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." @@ -3406,16 +3406,17 @@ msgid "" "Specify whether or not to insert two space characters to indent the first " "line of each paragraph." msgstr "" -"Spécifier s'il faut ou non insérer deux caractères espace pour indenter la " -"première ligne de chaque paragraphe." +"Spécifier s'il faut insérer ou non deux espaces pour indenter la première " +"ligne de chaque paragraphe." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44 msgid "" "Specify whether or not to hide the chapter title for each chapter. Useful " "for image-only output (eg. comics)." msgstr "" -"Spécifier s'il faut ou non cacher le titre de chapitre pour chaque chapitre. " -"Utile pour les sorties ne contenant que des images. (eg. bandes dessinées)" +"Spécifier s'il faut cacher ou non le titre de chapitre pour chaque chapitre. " +"Utile pour les sorties ne contenant que des images (eg. les bandes " +"dessinées)." #: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:122 msgid "Start Page" @@ -5166,7 +5167,7 @@ msgstr "Inclure la section 'Series'" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Etiquette Liste de souhaits :" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -5183,7 +5184,7 @@ msgstr "Italique" #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:27 #: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:28 msgid "Underline" -msgstr "" +msgstr "Souligné" #: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 msgid "" @@ -5925,11 +5926,11 @@ msgstr "Sortie SNB" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:40 msgid "Hide chapter name" -msgstr "Cacher le nom de chapitre" +msgstr "Cacher le nom des chapitres" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:41 msgid "Insert space before the first line for each paragraph" -msgstr "Insérer un espace avant la première ligne de chaque paragraphe" +msgstr "Insérer une espace avant la première ligne de chaque paragraphe" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:42 msgid "Insert empty line between paragraphs" @@ -6606,7 +6607,7 @@ msgstr "&Démarrer la vérification" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:38 msgid "Copy &to clipboard" -msgstr "Copier dans le presse-papier" +msgstr "Copier &dans le presse-papier" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:54 msgid "Names to ignore:" @@ -6616,6 +6617,8 @@ msgstr "Noms à ignorer :" msgid "" "Enter comma-separated standard file name wildcards, such as synctoy*.dat" msgstr "" +"Entrez un nom de fichier standard avec des caractères de remplacement " +"séparés par des virgules, tel que synctoy*.dat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:62 msgid "Extensions to ignore" @@ -6644,7 +6647,7 @@ msgid "" "The marked files and folders will be permanently deleted. Are you " "sure?" msgstr "" -"Les fichiers et répertoires marqués seront supprimé définitivement. " +"Les fichiers et répertoires marqués seront définitivement supprimés. " "Êtes-vous sûr ?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45 @@ -6864,8 +6867,8 @@ msgid "" "No metadata found, try adjusting the title and author and/or removing the " "ISBN." msgstr "" -"Aucune métadonnée trouvée, essayer en ajustant le titre et l'auteur et/ou en " -"supprimant l'ISBN." +"Aucune métadonnée trouvée, essayez en modifiant le titre et l'auteur et/ou " +"en supprimant l'ISBN." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "Fetch metadata" @@ -7005,6 +7008,11 @@ msgid "" "your library before proceeding.

Search and replace in text fields using " "character matching or regular expressions. " msgstr "" +"Vous pouvez détruire votre bibliothèque en utilisant cette option. " +"Les changements sont permanents. Il n'y a pas de fonction pour revenir en " +"arrière. Vous êtes fortement encouragé à sauvegarder votre bibliothèque " +"avant de continuer.

Rechercher et remplacer dans les champs de texte en " +"utilisant une correspondance de caractères ou une expression régulière. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 msgid "" @@ -7459,7 +7467,7 @@ msgid "" "discard or apply these changes" msgstr "" "Vous avez modifié les étiquettes. Pour pouvoir utiliser l'éditeur " -"d'étiquettes, vous devez soit abandonner ou bien valider ces modifications" +"d'étiquettes, vous devez soit abandonner soit valider ces modifications" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:639 msgid "Downloading cover..." @@ -7923,15 +7931,21 @@ msgstr "Type de correspondance à utiliser" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 msgid "Contains: the word or phrase matches anywhere in the metadata field" msgstr "" +"Contient : le mot ou la phrase est contenu n'importe où dans le champ de " +"métadonnée" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 msgid "Equals: the word or phrase must match the entire metadata field" msgstr "" +"Egal : le mot ou la phrase doit correspondre exactement au champ de " +"métadonnée" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 msgid "" "Regular expression: the expression must match anywhere in the metadata field" msgstr "" +"Expression régulière : l'expression doit correspondre n'importe où dans le " +"champ de métadonnée" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 msgid "Find entries that have..." @@ -8005,7 +8019,7 @@ msgstr "Chercher seulement dans les champs spécifiques:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 msgid "Titl&e/Author/Series ..." -msgstr "" +msgstr "Titr&e/Auteur/Series ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" @@ -8716,7 +8730,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:170 msgid "Shift+Ctrl+F" -msgstr "" +msgstr "Maj+Ctrl+F" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:173 msgid "Advanced search" @@ -11356,24 +11370,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Si vous mettez en place un nouveau compte hotmail, vous devez vous connecter " +"une première fois avant d'être capable d'envoyer des méls." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Vous pouvez vous enregistrer pour un compte mél {name} gratuit à http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Votre adresse &mél %s :" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Votre nom d'&utilisateur %s :" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Votre mot de &passe %s :" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11381,10 +11399,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Si vous planifiez d'utiliser des méls pour envoyer des livres à votre " +"Kindle, rappelez-vous d'ajouter votre adresse mél %s aux adresses méls " +"autorisées dans la page de coniguration de votre Kindle sur Amazon.com." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Configuration" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11491,7 +11512,7 @@ msgstr "Utiliser Gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Utiliser Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11812,6 +11833,10 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Etiquette indiquant un livre qui doit être affiché comme un élément de la " +"Liste de souhaits.\n" +"Par défaut : '%default'\n" +"S'applique aux formats : ePub, MOBI" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12802,6 +12827,8 @@ msgid "" "Prefix to prepend to all URLs. Useful for reverseproxying to this server " "from Apache/nginx/etc." msgstr "" +"Préfixe à ajouter avant toutes les URLs. Utile pour faire du reverse proxy " +"sur ce serveur à partir d'Apache/nginx/etc." #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 @@ -12811,7 +12838,7 @@ msgstr "Chargement, veuillez patientez..." #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Aller à" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" @@ -12941,6 +12968,18 @@ msgid "" "\n" "The OPDS interface is advertised via BonJour automatically.\n" msgstr "" +"[options]\n" +"\n" +"Démarre le serveur de contenu Calibre. Le serveur de contenu Calibre\n" +"publie votre bibliothèque Calibre sur internet. L'interface par défaut\n" +" vous permet de parcourir la bibliothèque Calibre par catégories. Vous " +"pouvez\n" +"aussi accèder à une interface optimisée pour les navigateurs mobiles à " +"/mobile\n" +"et une interface basée sur OPDS pour utiliser avec des applications de " +"lecture à /opds.\n" +"\n" +"L'interface OPDS est affichée automatiquement via BonJour.\n" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 msgid "Path to the library folder to serve with the content server" diff --git a/src/calibre/translations/gl.po b/src/calibre/translations/gl.po index 6b150cae4c..6f7e15661f 100644 --- a/src/calibre/translations/gl.po +++ b/src/calibre/translations/gl.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index d5683e0c1e..7ce7ee8ad5 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 046828e106..62b83875b8 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:26+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-20 17:46+0000\n" +"Last-Translator: Marcel de Ruiter \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:03+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -387,7 +387,7 @@ msgstr "Invoegtoepassing voor metagegevens" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" -msgstr "Verander de velden met metagegevens voordat het opslaan/versturen" +msgstr "Verander velden met metagegevens voor het opslaan/versturen" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" @@ -814,7 +814,7 @@ msgstr "Communiceer met de Cybook Gen 3 / Opus eboek lezer." #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "" +msgstr "Communiceer met de Cybook Orizon eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -4340,7 +4340,7 @@ msgid "" "changed.

Please confirm you want to proceed." msgstr "" "Boekformaten en metagegevens van de selectie zullen toegevoegd worden aan " -"het eerst geselecteerde boek. ISBN zal niet samengevoegd " +"het eerst geselecteerde boek (%s). ISBN zal niet samengevoegd " "worden.

De geselecteerde boeken zullen niet verwijderd of aangepast " "worden.

Bevestig als je wilt doorgaan." @@ -4355,7 +4355,7 @@ msgid "" "you sure you want to proceed?" msgstr "" "Boekformaten en metagegevens van de selectie zullen toegevoegd worden aan " -"het eerst geselecteerde boek. ISBN zal niet samengevoegd " +"het eerst geselecteerde boek (%s). ISBN zal niet samengevoegd " "worden.

Na samenvoeging zullen de geselecteerde boeken van je " "computer verwijderd worden.

Weet je zeker dat je door wilt " "gaan?" @@ -5115,7 +5115,7 @@ msgstr "Voeg 'Series\" gedeelte toe" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Wenslijst tag:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -7925,7 +7925,7 @@ msgstr "Geef de tags op gescheiden met spaties" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219 msgid "&Clear" -msgstr "" +msgstr "&Wis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220 msgid "Search only in specific fields:" @@ -7962,7 +7962,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 msgid "User Categories Editor" -msgstr "Gebruiker categorien opmaakprogramma" +msgstr "Gebruikerscategorieën opmaakprogramma" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 msgid "A&vailable items" @@ -10391,7 +10391,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:890 msgid "Manage &user categories" -msgstr "Beheer &zelfgemaakte categorien" +msgstr "Beheer &gebruikerscategorieën" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:893 msgid "Add your own categories to the Tag Browser" @@ -11233,24 +11233,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Als je een nieuw hotmail account aanmaakt, moet je een keer inloggen voor je " +"er emails mee kunt verzenden." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Je kunt je opgeven voor een gratis {name} email account bij http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Je %s &email adres:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Je %s gebr&uikersnaam" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Je %s &wachtwoord" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11258,10 +11262,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Als je email wilt gebruiken om boeken naar je Kindle te zenden, onhou dan " +"dat je je %s email adres bij de toegestane email adressen moet toevoegen op " +"de Amazon.com Kindle management pagina." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Instellen" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11366,7 +11373,7 @@ msgstr "Gebruik GMail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Gebruik Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11687,6 +11694,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Tag waarmee een boek wordt weergegeven als wenslijst item.\n" +"Standaard: '%default'\n" +"Geldt voor: ePub, Mobi uitvoerformaten" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12320,7 +12330,7 @@ msgstr "" "corrupt is.\n" "\n" "WAARSCHUWING: Dit zal je database compleet herbouwen. Je raakt alle\n" -"bewaarde zoektermen, gebruikerscategorien, pluginsets, " +"bewaarde zoektermen, gebruikerscategorieën, pluginsets, " "conversieinstellingen\n" "en recepten kwijt. Herstelde metagegevens zullen net zo accuraat zijn als " "wat er\n" @@ -12681,7 +12691,7 @@ msgstr "Laden, wachten aub" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Ga naar" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" diff --git a/src/calibre/translations/th.po b/src/calibre/translations/th.po index 2b6baaa501..50ff10c893 100644 --- a/src/calibre/translations/th.po +++ b/src/calibre/translations/th.po @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-20 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:345 From 37b54c65649e99731d24502e23e505fed53ca106 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Mon, 22 Nov 2010 04:49:17 +0000 Subject: [PATCH 03/80] Launchpad automatic translations update. --- src/calibre/translations/cs.po | 414 ++++++++++++++++++++------------- src/calibre/translations/fr.po | 6 +- src/calibre/translations/nb.po | 38 ++- 3 files changed, 289 insertions(+), 169 deletions(-) diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 575f5c9c04..99d6388fb3 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-20 22:11+0000\n" -"Last-Translator: Aleš Bajtalon \n" +"PO-Revision-Date: 2010-11-21 22:13+0000\n" +"Last-Translator: Marek Sušický \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-21 04:46+0000\n" +"X-Launchpad-Export-Date: 2010-11-22 04:48+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -795,7 +795,7 @@ msgstr "Komunikuje se čtečkou 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 "Spojit se s Cybook Orizon eBook" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -828,7 +828,7 @@ msgstr "Spojit se s Sigmatek eBook reader" #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:16 #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:32 msgid "Use an arbitrary folder as a device." -msgstr "" +msgstr "Používat libovolné složky jako zařízení." #: /home/kovid/work/calibre/src/calibre/devices/folder_device/driver.py:28 #: /home/kovid/work/calibre/src/calibre/devices/interface.py:14 @@ -1125,6 +1125,8 @@ msgid "" "The main memory of %s is read only. This usually happens because of file " "system errors." msgstr "" +"Hlavní paměť %s je jen pro čtení. Toto se obvykle stává, pokud dojde k chybě " +"souborového systému." #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:815 #: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 @@ -1633,6 +1635,10 @@ msgid "" "\"original\" (the default) does not change justification in the source file. " "Note that only some output formats support justification." msgstr "" +"Změna zarovnání textu. Hodnota \"left\" zarovná všechny texty vlevo (tj. " +"nevycentrovaný). Hodnota \"justify\", převede všechny texty na střed. " +"Hodnota \"original\" (výchozí) nezmění zarovnání ve zdrojovém souboru. " +"Všimněte si, že jen některé výstupní formáty podporují zarovnání textu." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:320 msgid "" @@ -1690,6 +1696,8 @@ 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 "" +"Pokusit se detekovat a opravit vynucené zakončení řádků a ostatní problémy " +"ve zdrojovém souboru. Toto může výsledek zhoršit, používat opatrně." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:371 msgid "" @@ -1705,6 +1713,9 @@ msgid "" "Convert plain quotes, dashes and ellipsis to their typographically correct " "equivalents. For details, see http://daringfireball.net/projects/smartypants" msgstr "" +"Převést prosté citace, pomlčky a elipsy do jejich typograficky správných " +"ekvivalentů. Pro podrobnosti přejděte na " +"http://daringfireball.net/projects/smartypants" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 msgid "Use a regular expression to try and remove the header." @@ -1925,6 +1936,9 @@ msgid "" "most EPUB readers cannot handle large file sizes. The default of %defaultKB " "is the size required for Adobe Digital Editions." msgstr "" +"Rozdělit všechny HTML soubory větší než tato velikost (v KB). Je to " +"nezbytné, protože většina EPUB čteček neumí pracovat s většími soubory. " +"Výchozí hodnota %defaultKB je požadovaná velikost pro Adobe Digital Editions." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:80 msgid "" @@ -2007,7 +2021,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" -msgstr "" +msgstr "CSS soubor používaný pro výstup namísto výchozího souboru" #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:36 msgid "" @@ -2324,6 +2338,8 @@ msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " "autodetect if they are actually cbz/cbr files." msgstr "" +"Rozbalit běžné e-book formáty z archivů (zip/rar). Také se pokusit " +"rozpoznat, zda se opravdu jedná o cbz/cbr soubory." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:114 msgid "TEMPLATE ERROR" @@ -2499,7 +2515,7 @@ msgstr "Získat obálku z ebooku a uložit ji jako určený soubor." msgid "" "Specify the name of an OPF file. The metadata will be written to the OPF " "file." -msgstr "" +msgstr "Zadat název souboru OPF. Metadata budou zapsány do souboru OPF." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:83 msgid "" @@ -2705,7 +2721,7 @@ msgstr "Název pro vygenerovaný obsah." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:37 msgid "Disable compression of the file contents." -msgstr "" +msgstr "Zakázat kompresi obsahu souboru." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:40 msgid "Tag marking book to be filed with Personal Docs" @@ -2717,7 +2733,7 @@ msgstr "Všechny články" #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:262 msgid "This is an Amazon Topaz book. It cannot be processed." -msgstr "" +msgstr "Toto je kniha Amazon Topaz. Ta nemůže být zpracována." #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 msgid "Title Page" @@ -2823,6 +2839,8 @@ msgstr "OPF verze pro generování. Výchozí je %default." msgid "" "Generate an Adobe \"page-map\" file if pagination information is available." msgstr "" +"Generovat Adobe \"page-map\" soubor, pokud jsou informace o stránkování k " +"dispozici." #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/reader132.py:128 msgid "Footnotes" @@ -2859,6 +2877,8 @@ msgid "" "Specify the character encoding of the output document. The default is " "cp1252. Note: This option is not honored by all formats." msgstr "" +"Určete kódování znaků výstupního dokumentu. Výchozí hodnota je CP1252. " +"Poznámka: Tato možnost není volitelná u všech formátů." #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/input.py:24 msgid "Do not extract images from the document" @@ -2931,6 +2951,9 @@ msgid "" "A file generated by ghostscript which allows each page to be individually " "cropped `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf 2> bounding`" msgstr "" +"Soubor vytvořený pomocí ghostscriptu, který umožňuje každé stránce, aby byla " +"individuálně oříznuta `gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=bbox file.pdf " +"2> bounding`" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:73 msgid "Crop Options:" @@ -3247,7 +3270,7 @@ msgstr "Upozornit pokud je dostupná nová verze" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:75 msgid "Use Roman numerals for series number" -msgstr "číslování knih v sérii římskými číslicemi" +msgstr "Používat římské číslice pro číslování sérií" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:77 msgid "Sort tags list by name, popularity, or rating" @@ -3335,7 +3358,7 @@ msgstr "Rozvržení uživatelského rozhraní" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:133 msgid "Show the average rating per item indication in the tag browser" -msgstr "Ukaž průměrné hodnocení na položku v tag prohlížeči" +msgstr "Zobrazit průměrné hodnocení na položku v prohlížeči tagů" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:135 msgid "Disable UI animations" @@ -3635,6 +3658,10 @@ msgid "" "them manually. This can happen if you manipulate the files in the library " "folder directly." msgstr "" +"Následující knihy měly formáty uvedené v databázi, které nejsou aktuálně k " +"dispozici. Tyto formáty byly odstraněny. Měli byste provést manuální " +"kontrolu. Tato situace může nastat, pokud budete manipulovat se soubory " +"přímo ve složce knihovny." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -3765,6 +3792,10 @@ msgid "" "GUI. You can recover your database using the 'calibredb restore_database' " "command line function." msgstr "" +"Tento příkaz znovu sestaví Vaši Calibre databázi z informací uložených v " +"souborech OPF.

Tato funkce není v současné době k dispozici v GUI. " +"Databázi můžete obnovit použitím funkce 'calibredb restore_database' v " +"příkazovém řádku." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:358 msgid "No library found" @@ -3866,7 +3897,7 @@ msgstr "Odstranit knihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:24 msgid "Remove selected books" -msgstr "Smazat vybrané knihy" +msgstr "Odstranit vybrané knihy" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:26 msgid "Remove files of a specific format from selected books.." @@ -4091,6 +4122,10 @@ msgid "" "second and subsequently selected books will not be deleted or " "changed.

Please confirm you want to proceed." msgstr "" +"Knižní formáty a metadata z vybraných knih budou přidány do první vybrané " +"knihy (%s). ISBN nebude sloučeno.

Druhá a následně " +"vybrané knihy nebudou odstraněny nebo změněny.

Prosím potvrďte, že " +"chcete pokračovat." #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:209 msgid "" @@ -4177,7 +4212,7 @@ msgstr "Ctrl+R" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:24 msgid "Save single format to disk..." -msgstr "Uložit jediný formát na disk..." +msgstr "Uložit v jednotném formátu na disk ..." #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:40 msgid "S" @@ -4195,12 +4230,12 @@ msgstr "Uložit na disk v jednom adresáři" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:69 msgid "Save only %s format to disk" -msgstr "Uložit jen formát %s na disk" +msgstr "Uložit pouze formát %s na disk" #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:72 msgid "Save only %s format to disk in a single directory" -msgstr "Ukládat pouze %s formát na disk do jednotného adresáře." +msgstr "Uložit pouze %s formát na disk do jednotného adresáře." #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:91 msgid "Cannot save to disk" @@ -4931,7 +4966,7 @@ msgstr "Čistíci &filtr" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:104 msgid "&Disable comic processing" -msgstr "" +msgstr "&Vypnout zpracování komixů" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120 @@ -5061,7 +5096,7 @@ msgstr "&Základní velikost fontů:" #: /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 msgid "Font size &key:" -msgstr "" +msgstr "&Klíč velikosti písma:" #: /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 @@ -5092,7 +5127,7 @@ msgstr "Velikost fontů: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:118 msgid " will map to size: " -msgstr "" +msgstr " se namapuje na velikost: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:119 msgid "0.0 pt" @@ -5104,7 +5139,7 @@ msgstr "Vzhled a chování" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:18 msgid "Control the look and feel of the output" -msgstr "" +msgstr "Zkontrolovat celkový vzhled výstupu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel.py:31 msgid "Original" @@ -5128,7 +5163,7 @@ msgstr "Základní &velikost písma:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid "Wizard to help you choose an appropriate font size key" -msgstr "" +msgstr "Průvodce, který vám pomůže vybrat vhodnou velikost písma" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "Line &height:" @@ -5144,7 +5179,7 @@ msgstr "Odstranit &mezery mezi odstavci" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:138 msgid "Indent size:" -msgstr "" +msgstr "Velikost odsazení:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:139 msgid "" @@ -5174,7 +5209,7 @@ msgstr "Extra &CSS" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:144 msgid "&Transliterate unicode characters to ASCII" -msgstr "" +msgstr "&Přepsat unicode znaky do ASCII" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:145 msgid "Insert &blank line" @@ -5186,7 +5221,7 @@ msgstr "Zachovat &ligatury" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 msgid "Smarten &punctuation" -msgstr "" +msgstr "Vylepšit &interpunkce" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output.py:19 msgid "LRF Output" @@ -5580,7 +5615,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:19 msgid "" "Fine tune the detection of chapter headings and other document structure." -msgstr "" +msgstr "Vyladit detekci nadpisů kapitol a další struktury dokumentu." #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:37 msgid "Detect chapters at (XPath expression):" @@ -5645,12 +5680,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:87 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" +"&Předběžně zpracovat vstupní soubor pro případné zlepšení struktury detekce" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 msgid "" "Table of\n" "Contents" msgstr "" +"Tabulka\n" +"Obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:18 msgid "Control the creation/conversion of the Table of Contents." @@ -6100,6 +6138,9 @@ 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 "" +"Nepodařilo se nahrát následující knihy do zařízení, protože nebyly nalezeny " +"žádné vhodné formáty. Převést knihu(y) do formátu, které přístroj primárně " +"podporuje." #: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" @@ -6160,7 +6201,7 @@ msgstr "&Vložit ze schránky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:80 msgid "Fit &cover within view" -msgstr "" +msgstr "Přizpůsobit obálku bez náhledu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:81 msgid "&Previous" @@ -6185,7 +6226,7 @@ msgstr "Vytvořit katalog pro {0} knih" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:76 msgid "Catalog &format:" -msgstr "" +msgstr "&Formát katalogu:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:77 msgid "" @@ -6420,6 +6461,9 @@ msgid "" "author. Exactly how this value is automatically generated can be controlled " "via Preferences->Advanced->Tweaks" msgstr "" +"Vyresetovat všechny hodnoty řazení autorů do hodnot automaticky generovaných " +"autorem. Jak přesně je tato hodnota automaticky generována lze ovládat zde: " +"Nastavení-> Upřesnit-> Vylepšení" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:75 msgid "Recalculate all author sort values" @@ -6476,6 +6520,10 @@ msgid "" "free account and enter your access key " "below." msgstr "" +"

Calibre může najít metadata na dvou místech: Google Books a " +"isbndb.com.

Chcete-li používat isbndb.com, musíte se zdarma " +"zaregistrovat na webu isbndb.com a " +"níže zadat svůj přístupový klíč." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:92 msgid "&Access Key:" @@ -6493,6 +6541,7 @@ msgstr "Shody" msgid "" "Select the book that most closely matches your copy from the list below" msgstr "" +"Zvolit knihu, která nejvíce odpovídá Vašim kopiím z níže uvedeného seznamu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:96 msgid "Download &social metadata (tags/rating/etc.) for the selected book" @@ -6520,7 +6569,7 @@ msgstr "Ukázat &detaily úlohy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/jobs_ui.py:52 msgid "Stop &all non device jobs" -msgstr "" +msgstr "Zastavit &všechny úlohy nesouvisející se zařízením" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:26 msgid "Title/Author" @@ -6593,6 +6642,10 @@ msgid "" "your library before proceeding.

Search and replace in text fields using " "character matching or regular expressions. " msgstr "" +"Použitím této funkce můžete zničit Vaši knihovnu. Změny jsou trvalé. " +"Není žádné cesty zpět. Důrazně se doporučuje zálohovat knihovnu před dalším " +"pokračováním.

Vyhledejte a nahraďte v textových polích odpovídající znaky " +"nebo regulární výrazy. " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 msgid "" @@ -6808,12 +6861,16 @@ msgid "" "Enter the what you are looking for, either plain text or a regular " "expression, depending on the mode" msgstr "" +"Zadejte co hledáte, buď prostý text nebo regulární výraz v závislosti na " +"režimu" #: /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 "" +"Zaškrtněte toto pole, pokud hledaný řetězec musí přesně definovat velká a " +"malá písmena. Zrušte zaškrtnutí pole, pokud má být ignorováno" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:386 msgid "Case sensitive" @@ -7288,7 +7345,7 @@ msgstr "Stáhnout &všechny naplánované" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:201 msgid "blurb" -msgstr "" +msgstr "záložka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:202 msgid "&Schedule for download:" @@ -7392,7 +7449,7 @@ msgstr "obsahuje" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:42 msgid "The text to search for. It is interpreted as a regular expression." -msgstr "" +msgstr "Text pro vyhledávání. Je interpretován jako regulární výraz." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:43 msgid "" @@ -7454,6 +7511,8 @@ msgid "" "See the User Manual for more help" msgstr "" +"Podívejte se do Uživatelské příručky pro získání více informací" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210 msgid "A&dvanced Search" @@ -7478,7 +7537,7 @@ msgstr "Zadejte autorovo jméno. Může být zadán jen jeden autor." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:217 msgid "" "Enter a series name, without an index. Only one series name can be used." -msgstr "" +msgstr "Zadejte název série, bez indexu. Lze použít pouze název jedné série." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 msgid "Enter tags separated by spaces" @@ -7490,7 +7549,7 @@ msgstr "&Vyčistit" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220 msgid "Search only in specific fields:" -msgstr "" +msgstr "Hledat pouze v konkrétních oblastech:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 msgid "Titl&e/Author/Series ..." @@ -7541,19 +7600,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:165 msgid "Category name: " -msgstr "" +msgstr "Název kategorie: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:166 msgid "Select a category to edit" -msgstr "" +msgstr "Vybrat kategorii pro editaci" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:167 msgid "Delete this selected tag category" -msgstr "" +msgstr "Smazat vybranou kategorii tagu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:169 msgid "Enter a new category name. Select the kind before adding it." -msgstr "" +msgstr "Zadejte název nové kategorie. Vyberte druh před přidáním." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:170 msgid "Add the new category" @@ -7565,18 +7624,20 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:173 msgid "Select the content kind of the new category" -msgstr "" +msgstr "Vyberte druh obsahu nové kategorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:68 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:105 msgid "Are your sure?" -msgstr "" +msgstr "Jste si jisti?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor.py:69 msgid "" "The following tags are used by one or more books. Are you certain you want " "to delete them?" msgstr "" +"Následující tagy jsou používány jednou nebo více knihami. Jste si jistí, že " +"je chcete smazat?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:128 msgid "Tag Editor" @@ -7584,13 +7645,15 @@ msgstr "Tag Editor" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:129 msgid "A&vailable tags" -msgstr "" +msgstr "Dostupné tagy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:130 msgid "" "Delete tag from database. This will unapply the tag from all books and then " "remove it from the database." msgstr "" +"Odstranit tag z databáze. Tag bude odebrán ze všech knih a odstraněn z " +"databáze." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_editor_ui.py:132 msgid "Apply tag to current book" @@ -7636,41 +7699,43 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" -msgstr "" +msgstr "Není vybrána žádná položka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:92 msgid "You must select one item from the list of Available items." -msgstr "" +msgstr "Musíte vybrat jednu položku ze seznamu dostupných položek." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:101 msgid "No items selected" -msgstr "" +msgstr "Není vybrána žádná položka" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:102 msgid "You must select at least one items from the list." -msgstr "" +msgstr "Musíte vybrat alespoň jednu položku ze seznamu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:106 msgid "Are you certain you want to delete the following items?" -msgstr "" +msgstr "Jste si jistí, že chcete odstranit tyto položky?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:77 msgid "Category Editor" -msgstr "" +msgstr "Editor kategorií" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:78 msgid "Items in use" -msgstr "" +msgstr "Používané položky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:79 msgid "" "Delete item from database. This will unapply the item from all books and " "then remove it from the database." msgstr "" +"Odstranit položku z databáze. Položka bude odebrána ze všech knih a " +"odstraněna z databáze." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:81 msgid "Rename the item in every book where it is used." -msgstr "" +msgstr "Přejmenovat položku v každé knize, ve které je použita." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:106 @@ -7890,15 +7955,15 @@ msgstr "Přidat RSS adresu zdroji" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:277 msgid "&Feed title:" -msgstr "" +msgstr "Název zdroje:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:278 msgid "Feed &URL:" -msgstr "" +msgstr "URL zdroje:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:280 msgid "&Add feed" -msgstr "" +msgstr "Přidat zdroj" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:281 msgid "" @@ -7936,7 +8001,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:119 msgid "Regular &expression" -msgstr "" +msgstr "Regulární &výraz" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:121 msgid "File &name:" @@ -7969,7 +8034,7 @@ msgstr "Autoři:" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:127 msgid "Regular expression (?P)" -msgstr "" +msgstr "Regulární výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:129 msgid "Series:" @@ -7997,7 +8062,7 @@ msgstr "Regulární výraz (?P)" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:100 msgid "Cover Browser" -msgstr "" +msgstr "Prohlížeč obálek" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:105 msgid "Shift+Alt+B" @@ -8005,7 +8070,7 @@ msgstr "Shift+Alt+B" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:119 msgid "Tag Browser" -msgstr "" +msgstr "Prohlížeč tagů" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:121 msgid "Shift+Alt+T" @@ -8019,7 +8084,7 @@ msgstr "verze" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:142 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:30 msgid "created by Kovid Goyal" -msgstr "" +msgstr "vytvořil Kovid Goyal" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:160 msgid "Connected " @@ -8032,15 +8097,15 @@ msgstr "Nalezena nová verze" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:207 #: /home/kovid/work/calibre/src/calibre/gui2/init.py:217 msgid "Book Details" -msgstr "" +msgstr "Podrobnosti o knize" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:209 msgid "Alt+D" -msgstr "" +msgstr "Alt+D" #: /home/kovid/work/calibre/src/calibre/gui2/init.py:219 msgid "Shift+Alt+D" -msgstr "" +msgstr "Shift+Alt+D" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:61 msgid "Job" @@ -8060,7 +8125,7 @@ msgstr "Uplynulý čas" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:76 msgid "There are %d running jobs:" -msgstr "" +msgstr "Existuje %d běžících úloh:" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:80 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:87 @@ -8070,7 +8135,7 @@ msgstr "Neznáma úloha" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:83 msgid "There are %d waiting jobs:" -msgstr "" +msgstr "Existuje %d čekajících úloh:" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:222 @@ -8095,11 +8160,11 @@ msgstr "Úlohy:" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 msgid "Shift+Alt+J" -msgstr "" +msgstr "Shift+Alt+J" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 msgid "Click to see list of jobs" -msgstr "" +msgstr "Klikněte pro zobrazení seznamu úloh" #: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 msgid " - Jobs" @@ -8107,7 +8172,7 @@ msgstr " - Úlohy" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:53 msgid "Eject this device" -msgstr "" +msgstr "Odpojit toto zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:63 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:209 @@ -8116,7 +8181,7 @@ msgstr "Knihovna" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:64 msgid "Show books in calibre library" -msgstr "Ukaž knihy z Calibre knihovny" +msgstr "Zobrazit knihy z Calibre knihovny" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:65 msgid "Device" @@ -8124,7 +8189,7 @@ msgstr "Zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:66 msgid "Show books in the main memory of the device" -msgstr "" +msgstr "Zobrazit knihy z hlavní paměti zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:67 #: /home/kovid/work/calibre/src/calibre/library/database2.py:823 @@ -8133,16 +8198,16 @@ msgstr "Karta A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:68 msgid "Show books in storage card A" -msgstr "" +msgstr "Zobrazit knihy na paměťové kartě A" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:69 #: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" -msgstr "" +msgstr "Karta B" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:70 msgid "Show books in storage card B" -msgstr "" +msgstr "Zobrazit knihy na paměťové kartě B" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:128 msgid "available" @@ -8155,7 +8220,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:170 msgid "Shift+Ctrl+F" -msgstr "" +msgstr "Shift+Ctrl+F" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:173 msgid "Advanced search" @@ -8166,14 +8231,16 @@ msgid "" "

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

Words separated by spaces are ANDed" msgstr "" +"

Hledání v seznamu knih podle názvu, autora, vydavatele, tagů, komentářů, " +"atd.

Slova rozdělená mezerou budou doplněna o AND" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 msgid "&Go!" -msgstr "" +msgstr "&Začít!" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:187 msgid "Do Quick Search (you can also press the Enter key)" -msgstr "" +msgstr "Provést rychlé hledání (můžete také stisknout klávesu Enter)" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Reset Quick Search" @@ -8185,11 +8252,11 @@ msgstr "Zkopírovat právě hledaný text (namísto hledání názvu)" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:211 msgid "Save current search under the name shown in the box" -msgstr "" +msgstr "Uložit aktuální hledání podle názvu uvedeného v poli" #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:217 msgid "Delete current saved search" -msgstr "" +msgstr "Smazat aktuální uložené hledání" #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:285 msgid "N" @@ -8202,7 +8269,7 @@ msgstr "Y" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:240 msgid "On Device" -msgstr "" +msgstr "Na zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 @@ -8211,7 +8278,7 @@ msgstr "Velikost (MB)" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:331 msgid "Book %s of %s." -msgstr "" +msgstr "Kniha %s z %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:693 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1236 @@ -8226,7 +8293,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:922 msgid "In Library" -msgstr "" +msgstr "V knihovně" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:926 msgid "Size" @@ -8238,11 +8305,11 @@ msgstr "Kniha %s z %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1216 msgid "Marked for deletion" -msgstr "" +msgstr "Označeno ke smazání" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1219 msgid "Double click to edit me

" -msgstr "" +msgstr "Dvakrát klikněte na upravit

" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:147 msgid "Hide column %s" @@ -8250,7 +8317,7 @@ msgstr "Skryj sloupce %s" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:152 msgid "Sort on %s" -msgstr "" +msgstr "Řadit dle %s" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:153 msgid "Ascending" @@ -8262,27 +8329,27 @@ msgstr "Sestupně" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:168 msgid "Change text alignment for %s" -msgstr "" +msgstr "Změna zarovnání textu %s" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170 msgid "Left" -msgstr "" +msgstr "Vlevo" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170 msgid "Right" -msgstr "" +msgstr "Vpravo" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:171 msgid "Center" -msgstr "" +msgstr "Vystředit" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:190 msgid "Show column" -msgstr "" +msgstr "Zobrazit sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:202 msgid "Restore default layout" -msgstr "" +msgstr "Obnovit výchozí rozložení" #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:743 msgid "" @@ -8389,7 +8456,7 @@ msgstr "Calibre knihovna" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:86 msgid "Choose a location for your calibre e-book library" -msgstr "" +msgstr "Vyberte umístění pro Vaši Calibre e-book knihovnu" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:95 msgid "Failed to create library" @@ -8397,12 +8464,12 @@ msgstr "Nepodařilo se vytvořit knihovnu" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:96 msgid "Failed to create calibre library at: %r." -msgstr "" +msgstr "Nepodařilo se vytvořit Calibre knihovnu v: %r." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:99 #: /home/kovid/work/calibre/src/calibre/gui2/main.py:184 msgid "Choose a location for your new calibre e-book library" -msgstr "" +msgstr "Vyberte umístění pro Vaši novou Calibre e-book knihovnu" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:153 msgid "Initializing user interface..." @@ -8423,11 +8490,11 @@ msgstr "Neplatné umístění databáze" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:194 msgid "Bad database location %r. calibre will now quit." -msgstr "" +msgstr "Špatné umístění databáze %r. Calibre bude nyní ukončeno." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:207 msgid "Corrupted database" -msgstr "" +msgstr "Poškozená databáze" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:208 msgid "" @@ -8435,24 +8502,30 @@ msgid "" "and repair it automatically? If you say No, a new empty calibre library will " "be created." msgstr "" +"Vaše Calibre databáze se zdá být poškozená. Chcete aby se Calibre pokusilo " +"databázi opravit automaticky? Pokud zvolíte Ne, bude vytvořena nová prázdná " +"Calibre knihovna." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:214 msgid "" "Repairing database. This can take a very long time for a large collection" msgstr "" +"Oprava databáze. Tato operace může trvat dlouhou dobu pokud je sbírka " +"rozsáhlá" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:227 msgid "" "Bad database location %r. Will start with a new, empty calibre library" msgstr "" +"Špatné umístění databáze %r. Začne se s novou, prázdnou Calibre knihovnou" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:237 msgid "Starting %s: Loading books..." -msgstr "" +msgstr "Spouštění %s: Načítání knih..." #: /home/kovid/work/calibre/src/calibre/gui2/main.py:282 msgid "If you are sure it is not running" -msgstr "" +msgstr "Jste si jisti, že není spuštěn" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:284 msgid "Cannot Start " @@ -8464,7 +8537,7 @@ msgstr "%s je již spuštěno" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:288 msgid "may be running in the system tray, in the" -msgstr "" +msgstr "může být spuštěn v systémové liště, v" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:290 msgid "upper right region of the screen." @@ -8510,23 +8583,23 @@ msgstr "Kniha nemá ani název ani ISBN" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:138 msgid "No matches found for this book" -msgstr "" +msgstr "Nebyly nalezeny žádné shody pro tuto knihu" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" -msgstr "" +msgstr "Nepodařilo se stáhnout metadata" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" -msgstr "" +msgstr "obálka" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" -msgstr "" +msgstr "Staženo" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" -msgstr "" +msgstr "Nepodařilo se získat" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" @@ -8535,7 +8608,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" -msgstr "" +msgstr "Dokončeno" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" @@ -8544,13 +8617,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" -msgstr "" +msgstr "Podrobnosti" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/__init__.py:36 msgid "" "Restore settings to default values. You have to click Apply to actually save " "the default settings." msgstr "" +"Obnovit nastavení na výchozí hodnoty. Musíte kliknout na tlačítko Použít pro " +"uložení výchozího nastavení." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:49 msgid "" @@ -8558,10 +8633,13 @@ msgid "" "to it. calibre can either read metadata from the contents of the file, or " "from the filename." msgstr "" +"Zde můžete určit, jakým způsobem bude Calibre načítat metadata ze souborů, " +"které přidáte. Calibre může buď načíst metadata z obsahu souboru, nebo z " +"názvu souboru." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:50 msgid "Read metadata from &file contents rather than file name" -msgstr "" +msgstr "Načíst metadata z obsahu souboru, nikoliv z názvu souboru" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:51 msgid "" @@ -8582,17 +8660,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:56 msgid "&Configure metadata from file name" -msgstr "" +msgstr "Nastavit metadata z názvu souboru" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:57 msgid "" "Swap the firstname and lastname of the author. This affects only metadata " "read from file names." msgstr "" +"Zaměnit jméno a příjmení autora. Toto ovlivňuje pouze metadata načtená z " +"názvu souboru." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:58 msgid "&Swap author firstname and lastname" -msgstr "" +msgstr "Zaměnit jméno a příjmení autora." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:32 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:145 @@ -8659,7 +8739,7 @@ msgstr "Upřednostňovaný výstupní formát:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:150 msgid "Restriction to apply when the current library is opened:" -msgstr "" +msgstr "Omezení platí pokud je současná knihovna otevřená:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:151 msgid "" @@ -8676,7 +8756,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:153 msgid "Tags to apply when adding a book:" -msgstr "" +msgstr "Použitelné tagy při přidávání knihy:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:154 msgid "Reset all disabled &confirmation dialogs" @@ -8688,7 +8768,7 @@ msgstr "Pořadí preference &vstupních formátů:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:158 msgid "Use internal &viewer for:" -msgstr "Použít interní &prohlížec pro:" +msgstr "Použít interní &prohlížeč pro:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96 msgid "You must select a column to delete it" @@ -8696,11 +8776,11 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101 msgid "The selected column is not a custom column" -msgstr "" +msgstr "Vybraný sloupec není uživatelský sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:103 msgid "Do you really want to delete column %s and all its data?" -msgstr "" +msgstr "Opravdu chcete odstranit sloupec %s a všechna jeho data?" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:82 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:82 @@ -8713,28 +8793,30 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84 msgid "Remove a user-defined column" -msgstr "" +msgstr "Odebrat uživatelem definovaný sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:86 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:86 msgid "Add a user-defined column" -msgstr "" +msgstr "Přidat uživatelem definovaný sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:88 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:88 msgid "Edit settings of a user-defined column" -msgstr "" +msgstr "Upravit nastavení uživatelem definovaného sloupce" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:91 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:91 msgid "Add &custom column" -msgstr "" +msgstr "Přidat vlastní sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/conversion.py:37 msgid "" "Restore settings to default values. Only settings for the currently selected " "section are restored." msgstr "" +"Obnovit nastavení na výchozí hodnoty. Jsou obnoveny pouze nastavení pro " +"právě vybranou sekci." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:19 msgid "Text, column shown in the tag browser" @@ -8746,7 +8828,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:25 msgid "Long text, like comments, not shown in the tag browser" -msgstr "" +msgstr "Dlouhý text, jako jsou komentáře, není zobrazen v prohlížeči tagů" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:28 msgid "Text column for keeping series-like information" @@ -8754,31 +8836,31 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 msgid "Floating point numbers" -msgstr "" +msgstr "Plovoucí desetinnou čárkou" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:35 msgid "Integers" -msgstr "" +msgstr "Celá čísla" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:37 msgid "Ratings, shown with stars" -msgstr "" +msgstr "Hodnocení, zobrazeny s hvězdami" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:40 msgid "Yes/No" -msgstr "" +msgstr "Ano/Ne" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:42 msgid "Column built from other columns" -msgstr "" +msgstr "Sloupec vytvořený z jiných sloupců" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:71 msgid "No column selected" -msgstr "" +msgstr "Není označen žádný sloupec" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:72 msgid "No column has been selected" -msgstr "" +msgstr "Žádný sloupec nebyl označen" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 msgid "Selected column is not a user-defined column" @@ -8980,11 +9062,11 @@ msgstr "Nikdy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:106 msgid "User Interface &layout (needs restart):" -msgstr "" +msgstr "&Rozvržení uživatelského rozhraní (vyžaduje restart):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:107 msgid "&Number of covers to show in browse mode (needs restart):" -msgstr "Počet obálek zobraze&ných v přohlížecím módu (vyžaduje restart)" +msgstr "Počet obálek zobraze&ných v režimu prohlížení (vyžaduje restart):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:108 msgid "Choose &language (requires restart):" @@ -8992,7 +9074,7 @@ msgstr "Vyberte &jazyk (vyžaduje restart):" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:109 msgid "Show &average ratings in the tags browser" -msgstr "" +msgstr "Zobrazit &průměrné hodnocení v prohlížeči tagů" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:110 msgid "Disable all animations. Useful if you have a slow/old computer." @@ -9009,11 +9091,11 @@ msgstr "Zobrazit &ikonu v sýstémové liště (vyžaduje restart)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:113 msgid "Show &splash screen at startup" -msgstr "Ukaž úvodní obrazovku při startu" +msgstr "Zobrazit úvodní obrazovku při startu" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:114 msgid "Disable ¬ifications in system tray" -msgstr "Zablokuj oznámení v systémové liště" +msgstr "Zablokovat oznámení v systémové liště" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:115 msgid "Use &Roman numerals for series" @@ -9021,7 +9103,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:116 msgid "Show cover &browser in a separate window (needs restart)" -msgstr "Zobrazit prohlížec &obálek v samostatném okně (vyžaduje restart)" +msgstr "Zobrazit prohlížeč &obálek v samostatném okně (vyžaduje restart)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:117 msgid "Search as you type" @@ -9037,11 +9119,11 @@ msgstr "Velikost ikon:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:120 msgid "Show &text under icons:" -msgstr "Ukaž text pod ikonou:" +msgstr "Zobrazit text pod ikonami:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:121 msgid "&Split the toolbar into two toolbars" -msgstr "Rozděl nástrojovou lištu do dvou lišt." +msgstr "Rozdělit nástrojovou lištu do dvou lišt." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 msgid "&Apply" @@ -9049,7 +9131,7 @@ msgstr "Použít" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "Restore &defaults" -msgstr "Obnov výchozí hodnoty" +msgstr "Obnovit výchozí hodnoty" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 msgid "Save changes" @@ -9061,7 +9143,7 @@ msgstr "Zrušit a vrátit se na přehled" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 msgid "Restoring to defaults not supported for" -msgstr "Obnova do výchozích hodnot není podporováno pro" +msgstr "Obnova do výchozích hodnot není podporována pro" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 msgid "" @@ -9241,7 +9323,7 @@ msgstr "Modul %s nevyžaduje žádné úpravy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:193 msgid "Customize" -msgstr "" +msgstr "Přizpůsobit" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:236 msgid "Cannot remove builtin plugin" @@ -9538,7 +9620,7 @@ msgstr "Nemohu odebrat akce %s z umístění" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:99 msgid "Customize the actions in:" -msgstr "" +msgstr "Upravit akce:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:100 msgid "A&vailable actions" @@ -9652,7 +9734,7 @@ msgstr "&Výchozí" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:135 msgid "Customize shortcuts for" -msgstr "" +msgstr "Vlastní klávesové zkratky pro" #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:223 msgid "Keys" @@ -10125,7 +10207,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 msgid "The standard font type" -msgstr "" +msgstr "Standardní typ fontu" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" @@ -10218,7 +10300,7 @@ msgstr "Pozice v knize" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:195 msgid "Go to a reference. To get reference numbers, use the reference mode." -msgstr "" +msgstr "Jít na odkaz. K získání odkazujících čísel použijte reference mód." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:203 msgid "Search for text in book" @@ -10291,7 +10373,7 @@ msgstr "Volby ke kontrole prohlížeče ebooků" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 msgid "" "If specified, viewer window will try to come to the front when started." -msgstr "" +msgstr "Pokud specifikováno, okno prohlížeče se zobrazí po startu v popředí." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" @@ -10906,6 +10988,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Zahrnout 'Titles' sekci v katalogu.\n" +"Výchozí: '%default'\n" +"Aplikuje se na: ePub, MOBI výstupní formáty" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" @@ -10953,6 +11038,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Tag indikující přečtenou knihu.\n" +"Výchozí: '%default'\n" +"Aplikuje se na: ePub, MOBI výstupní formáty" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 msgid "" @@ -10960,22 +11048,25 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Tag indikující knihu jako položku seznamu přání.\n" +"Výchozí: '%default'\n" +"Aplikuje se na: ePub, MOBI výstupní formáty" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" -msgstr "" +msgstr "Neplatné tituly" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:18 msgid "Extra titles" -msgstr "" +msgstr "Extra tituly" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:19 msgid "Invalid authors" -msgstr "" +msgstr "Neplatní autoři" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:20 msgid "Extra authors" -msgstr "" +msgstr "Extra autoři" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:21 msgid "Missing book formats" @@ -10991,7 +11082,7 @@ msgstr "Neznámé soubory v knihách" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:24 msgid "Folders raising exception" -msgstr "" +msgstr "Složky vyvolávající výjimku" #: /home/kovid/work/calibre/src/calibre/library/cli.py:43 msgid "" @@ -11043,6 +11134,7 @@ msgid "" "The maximum width of a single line in the output. Defaults to detecting " "screen size." msgstr "" +"Maximální šířka řádku ve výstupu. Výchozí pro určení velikosti obrazovky." #: /home/kovid/work/calibre/src/calibre/library/cli.py:144 msgid "The string used to separate fields. Default is a space." @@ -11053,6 +11145,8 @@ msgid "" "The prefix for all file paths. Default is the absolute path to the library " "folder." msgstr "" +"Prefix pro všechny cesty k souborům. Výchozí je absolutní cesta do knihovní " +"složky." #: /home/kovid/work/calibre/src/calibre/library/cli.py:167 msgid "Invalid fields. Available fields:" @@ -11087,7 +11181,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:281 msgid "Process directories recursively" -msgstr "" +msgstr "Zpracuj adresáře rekurzivně" #: /home/kovid/work/calibre/src/calibre/library/cli.py:283 msgid "" @@ -11221,7 +11315,7 @@ msgstr "Exportovat všechny knihy do jednoho adresáře" #: /home/kovid/work/calibre/src/calibre/library/cli.py:518 msgid "Specifying this switch will turn this behavior off." -msgstr "" +msgstr "Nastavení tohoto přepínače vypne toto chování." #: /home/kovid/work/calibre/src/calibre/library/cli.py:541 msgid "You must specify some ids or the %s option" @@ -11243,6 +11337,8 @@ msgid "" "This column stores tag like data (i.e. multiple comma separated values). " "Only applies if datatype is text." msgstr "" +"Tento sloupec ukládá tagy jako data (mnoho čárkou oddělených hodnot). " +"Použitelné pouze pokud je datový typ text." #: /home/kovid/work/calibre/src/calibre/library/cli.py:567 msgid "" @@ -11520,7 +11616,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" -msgstr "" +msgstr "%sPrůměrné hodnocení je %3.1f" #: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" @@ -11695,7 +11791,7 @@ msgstr "Požadované formáty nejsou k dispozici" #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:21 msgid "Settings to control the calibre content server" -msgstr "" +msgstr "Nastavení pro calibre content server" #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:25 msgid "The port on which to listen. Default is %default" @@ -11780,11 +11876,11 @@ msgstr "Průměrné hodnocení" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 msgid "%s: %.1f stars" -msgstr "" +msgstr "%s: %.1f hvězd" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 msgid "%d stars" -msgstr "" +msgstr "%d hvězd" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Popularity" @@ -11819,7 +11915,7 @@ msgstr "Procházet knihy podle" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 msgid "Choose a category to browse by:" -msgstr "" +msgstr "Zvolte kategorii k procházení:" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 msgid "Browsing by" @@ -11843,11 +11939,11 @@ msgstr "Ostatní formáty" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 msgid "Read %s in the %s format" -msgstr "" +msgstr "Číst %s v %s formátu" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 msgid "Get" -msgstr "" +msgstr "Získat" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 msgid "Permalink" @@ -11863,7 +11959,7 @@ msgstr "Tato kniha byla smazána" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 msgid "in search" -msgstr "" +msgstr "v hledání" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 msgid "Matching books" @@ -11922,7 +12018,7 @@ msgstr "TAGY: %s
" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:157 msgid "SERIES: %s [%s]
" -msgstr "" +msgstr "Série: %s [%s]
" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:248 msgid "Books in your library" @@ -11930,7 +12026,7 @@ msgstr "Knihy ve vaší knihovně" #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:254 msgid "By " -msgstr "" +msgstr "Od " #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:255 msgid "Books sorted by " @@ -11938,7 +12034,7 @@ msgstr "Řazení knih podle " #: /home/kovid/work/calibre/src/calibre/utils/config.py:32 msgid "%sUsage%s: %s\n" -msgstr "" +msgstr "%sPoužití%s: %s\n" #: /home/kovid/work/calibre/src/calibre/utils/config.py:76 msgid "Created by " @@ -11956,7 +12052,7 @@ msgstr "Cesta k databázi, ve které jsou uloženy knihy" #: /home/kovid/work/calibre/src/calibre/utils/config.py:699 msgid "Pattern to guess metadata from filenames" -msgstr "" +msgstr "Vzor k získání metadat z názvů souborů" #: /home/kovid/work/calibre/src/calibre/utils/config.py:701 msgid "Access key for isbndb.com" @@ -12012,7 +12108,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/utils/config.py:730 msgid "How and when calibre updates metadata on the device." -msgstr "" +msgstr "Jak a kdy calibre aktualizuje metadata v zařízení." #: /home/kovid/work/calibre/src/calibre/utils/formatter.py:33 msgid "lookup requires either 2 or an odd number of arguments" @@ -12136,21 +12232,23 @@ msgstr "Vyber téma (vyžaduje restart)" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:188 msgid "No interpreter" -msgstr "" +msgstr "Žádný interpretr" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:189 msgid "No active interpreter found. Try restarting the console" -msgstr "" +msgstr "Žádný aktivní interpretr nenalezen. Zkuste restartovat konzoli" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:203 msgid "Interpreter died" -msgstr "" +msgstr "Interpretr vytuhl" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/console.py:204 msgid "" "Interpreter dies while excuting a command. To see the command, click Show " "details" msgstr "" +"Interpretr vytuhl během provádění příkazu. Klikněte na Ukázat detaily pro " +"zobrazení problémového příkazu" #: /home/kovid/work/calibre/src/calibre/utils/pyconsole/main.py:20 msgid "Welcome to" diff --git a/src/calibre/translations/fr.po b/src/calibre/translations/fr.po index c3d5a6723a..7f75675b72 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-20 16:27+0000\n" +"PO-Revision-Date: 2010-11-21 20:11+0000\n" "Last-Translator: sengian \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-11-21 04:46+0000\n" +"X-Launchpad-Export-Date: 2010-11-22 04:49+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" @@ -9704,7 +9704,7 @@ msgstr "Afficher le &texte sous les icônes :" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:121 msgid "&Split the toolbar into two toolbars" -msgstr "&Sépare la barre d'outils en deux bares distinctes" +msgstr "&Sépare la barre d'outils en deux barres distinctes" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 msgid "&Apply" diff --git a/src/calibre/translations/nb.po b/src/calibre/translations/nb.po index 7ce7ee8ad5..a4ebb591d7 100644 --- a/src/calibre/translations/nb.po +++ b/src/calibre/translations/nb.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 23:12+0000\n" -"Last-Translator: Kovid Goyal \n" +"PO-Revision-Date: 2010-11-21 08:41+0000\n" +"Last-Translator: Øyvind Øritsland \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" +"X-Launchpad-Export-Date: 2010-11-22 04:49+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -808,7 +808,7 @@ msgstr "Kommuniser med Cybook Gen3 / Opus eBook leser." #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "" +msgstr "Kommuniser med Cybook Orizon eBook leser" #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -5052,7 +5052,7 @@ msgstr "Inkluder 'Serier' seksjon" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Emneord for ønskeliste:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -6882,6 +6882,13 @@ msgid "" "checked, the search text must match exactly. If it is unchecked, the search " "text will match both upper- and lower-case letters" msgstr "" +"I tegnmodus søkes det i teksten som er skrevet i søkefeltet. Teksten " +"erstattes med den spesifiserte erstatningsteksten over alt denne blir funnet " +"i det spesifiserte søkefeltet. Etter at erstatningen er gjennomført, kan " +"teksten endres til store eller små bokstaver eller til titteltekst. Dersom " +"den tegnsensitive avkryssningsboksen er merket av, må søketeksten stemme " +"overens, helt eksakt. Dersom den ikke er merket av vil søketeksten treffe " +"både store og små bokstaver." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" @@ -6897,35 +6904,50 @@ msgid "" "information on python's regular expressions, and in particular the 'sub' " "function." msgstr "" +"I ordinær uttrykksmodus er søketeksten et vilkårlig python-kompatibelt " +"uttrykk. Erstatningsteksten kan inneholde tilbakereferanser til " +"grunnutrykket i mønsteret. søket er ikke ankerfestet og kan samsvare og " +"erstatte flere ganger i samme streng. Modifiseringsfunksjonene (små " +"bokstaver osv.) legges til den samsvarende teksten, ikke til feltet som " +"helhet. Boksen for destinasjon spesifiserer feltet der resultatet etter " +"samsvarende teks er tildelt. Du kan erstatte teksten i feltet eller setter " +"du eller føyer til den samsvarende teksten. Se denne referansen for " +"mer informasjon om pythons ordinære uttrykk, og spesielt 'underfunksjoner'." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" -msgstr "" +msgstr "Du må spesifisere destinasjonen når kilden er et sammensatt felt" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" -msgstr "" +msgstr "Søk/erstatt ugyldig" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 msgid "" "Authors cannot be set to the empty string. Book title %s not processed" msgstr "" +"Forfattere kan ikke legges inn i en tom streng. Boktittel %s er ikke " +"behandlet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 msgid "Title cannot be set to the empty string. Book title %s not processed" msgstr "" +"Tittel kan ikke legges inn i en tom streng. Boktittel %s er ikke behandlet" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" -msgstr "" +msgstr "Søkemønsteret er ugyldig: %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" +"Legger til endringer til %d bøker.\n" +"Phase {0} {1}%%." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" From e201f66e95a763cb335e5fa58df6705bc30a146b Mon Sep 17 00:00:00 2001 From: Translators <> Date: Tue, 23 Nov 2010 04:58:45 +0000 Subject: [PATCH 04/80] Launchpad automatic translations update. --- src/calibre/translations/eu.po | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index 6ccc0b86ca..e5b2128324 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 22:56+0000\n" +"PO-Revision-Date: 2010-11-22 13:39+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-11-20 05:02+0000\n" +"X-Launchpad-Export-Date: 2010-11-23 04:58+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -826,7 +826,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/cybook/driver.py:64 msgid "Communicate with the Cybook Orizon eBook reader." -msgstr "" +msgstr "Jar zaitez harremanetan Cybook Orizon eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -5224,7 +5224,7 @@ msgstr "'Series' Saila barne" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Desio-zerrenda etiketa" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -11407,24 +11407,28 @@ msgid "" "If you are setting up a new hotmail account, you must log in to it once " "before you will be able to send mails." msgstr "" +"Hotmail kontu berri bat konfiguratzen ari bazara, mezuak bidaltzen hasi " +"baino lehen saioa hasita izan beharko duzu." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 msgid "" "You can sign up for a free {name} email account at http://{url}. {extra}" msgstr "" +"Izena eman ahal duzu {name} e-posta kontua doan izateko hemen: http://{url}. {extra}" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 msgid "Your %s &email address:" -msgstr "" +msgstr "Zure %s &e-posta helbidea:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 msgid "Your %s &username:" -msgstr "" +msgstr "Zure %s &erabiltzaile-izena:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 msgid "Your %s &password:" -msgstr "" +msgstr "Your %s &pasahitza:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 msgid "" @@ -11432,10 +11436,13 @@ msgid "" "your %s email address to the allowed email addresses in your Amazon.com " "Kindle management page." msgstr "" +"Zure Kindle horretara liburuak e-postaren bidez bidaltzeko asmoa baduzu, " +"gogoratu zure %s e-posta helbidea gehitzea Amazon.com Kindle kudeaketa " +"orriko baimenduetako e-posta helbideetara." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 msgid "Setup" -msgstr "" +msgstr "Konfiguratu" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 @@ -11547,7 +11554,7 @@ msgstr "Erabili Gmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use Hotmail" -msgstr "" +msgstr "Erabil ezazu Hotmail" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" @@ -11868,6 +11875,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Etiketa honek liburua desio-zerrenda horretakoa bezala erakutsiko.\n" +"Lehenetsita: '%default'\n" +"Aplikatuko den formatuak: ePub, MOBI helburu formatuak" #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" @@ -12869,7 +12879,7 @@ msgstr "Kargatzen. Mesedez, zaude apur batean." #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 msgid "Go to" -msgstr "" +msgstr "Joan hona" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 msgid "First" From 559d217d0b852f90c2a3bcc4aaba081efb4eabec Mon Sep 17 00:00:00 2001 From: Translators <> Date: Wed, 24 Nov 2010 04:57:07 +0000 Subject: [PATCH 05/80] Launchpad automatic translations update. --- src/calibre/translations/eu.po | 10 +- src/calibre/translations/pt.po | 3087 ++++++++++++++++++-------------- 2 files changed, 1762 insertions(+), 1335 deletions(-) diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index e5b2128324..a45e09bfba 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-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-22 13:39+0000\n" -"Last-Translator: gorkaazk \n" +"PO-Revision-Date: 2010-11-23 09:36+0000\n" +"Last-Translator: Asier Sarasua Garmendia \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-11-23 04:58+0000\n" +"X-Launchpad-Export-Date: 2010-11-24 04:56+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -164,7 +164,7 @@ msgstr "Oinarria" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:172 msgid "File type" -msgstr "Fitxategi mota" +msgstr "Fitxategi-mota" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:208 msgid "Metadata reader" @@ -176,7 +176,7 @@ msgstr "Metadatuen idazlea" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:268 msgid "Catalog generator" -msgstr "Katalogo sortzailea" +msgstr "Katalogo-sortzailea" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:369 msgid "User Interface Action" diff --git a/src/calibre/translations/pt.po b/src/calibre/translations/pt.po index 10cf9e8521..d224d56f1f 100644 --- a/src/calibre/translations/pt.po +++ b/src/calibre/translations/pt.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-10-08 21:12+0000\n" -"PO-Revision-Date: 2010-10-08 20:45+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-11-19 21:23+0000\n" +"PO-Revision-Date: 2010-11-23 15:37+0000\n" +"Last-Translator: Alberto Ferreira \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-10-09 12:10+0000\n" +"X-Launchpad-Export-Date: 2010-11-24 04:57+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,20 +27,21 @@ msgstr "Não faz absolutamente nada" #: /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:413 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:444 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:70 #: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/prs500/books.py:267 -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:526 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:399 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:657 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:401 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/input.py:100 #: /home/kovid/work/calibre/src/calibre/ebooks/chm/metadata.py:56 #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:407 -#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/fb2/input.py:72 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:336 -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:339 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/periodical.py:124 +#: /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/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,34 +54,34 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:606 #: /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:49 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:333 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:65 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fb2.py:50 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:354 #: /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 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:124 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/meta.py:126 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1017 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1129 +#: /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/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:611 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:817 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:819 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:620 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 #: /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:909 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:914 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:980 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:913 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:918 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:984 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:143 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/reader.py:150 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:64 @@ -108,52 +109,52 @@ msgstr "Não faz absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:239 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:356 -#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:363 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:277 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:280 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:282 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:137 #: /home/kovid/work/calibre/src/calibre/gui2/add.py:144 #: /home/kovid/work/calibre/src/calibre/gui2/convert/__init__.py:42 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:909 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:918 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1202 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1205 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:177 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:381 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:400 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:919 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1113 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1112 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:112 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /home/kovid/work/calibre/src/calibre/library/cli.py:215 -#: /home/kovid/work/calibre/src/calibre/library/database.py:913 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:396 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:408 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1269 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1373 +#: /home/kovid/work/calibre/src/calibre/library/database.py:914 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:374 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 #: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2149 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2281 -#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:219 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 -#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:76 +#: /home/kovid/work/calibre/src/calibre/library/server/xml.py:78 #: /home/kovid/work/calibre/src/calibre/utils/localization.py:118 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:46 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:64 #: /home/kovid/work/calibre/src/calibre/utils/podofo/__init__.py:78 #: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:47 -#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:50 +#: /home/kovid/work/calibre/src/calibre/web/feeds/recipes/collection.py:55 msgid "Unknown" msgstr "Desconhecido(a)" @@ -191,7 +192,7 @@ msgstr "Ação de interface do usuário" msgid "Preferences" msgstr "Preferências" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:17 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:15 msgid "" "Follow all local links in an HTML file and create a ZIP file containing all " "linked files. This plugin is run every time you add an HTML file to the " @@ -201,7 +202,7 @@ msgstr "" "contendo todos os ficheiros dos atalhos. Este extra é executado, todas as " "vezes que adiciona um ficheiro HTML à biblioteca." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:53 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:51 msgid "" "Character encoding for the input HTML files. Common choices include: cp1252, " "latin1, iso-8859-1 and utf-8." @@ -209,7 +210,7 @@ msgstr "" "Codificação de caracteres para os ficheiros HTML de origem. As escolhas " "comuns incluem: cp1252, latin1, iso-8859-1 e utf-8." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:60 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:58 msgid "" "Create a PMLZ archive containing the PML file and all images in the " "directory pmlname_img or images. This plugin is run every time you add a PML " @@ -219,7 +220,7 @@ msgstr "" "directório pmlname_img ou imagens. Este plugin, é executado, todas as vezes " "que você adicionar um arquivo PML à bibilioteca." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:94 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:92 msgid "Extract cover from comic files" msgstr "Extrai a capa dos ficheiros de banda desenhada" @@ -240,7 +241,8 @@ msgstr "Extrai a capa dos ficheiros de banda desenhada" #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:279 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:290 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:300 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:310 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:311 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 msgid "Read metadata from %s files" msgstr "Lê os metadados dos ficheiros %s" @@ -248,61 +250,61 @@ msgstr "Lê os metadados dos ficheiros %s" msgid "Read metadata from ebooks in RAR archives" msgstr "Lê os metadados dos livros digitais, contidos nos arquivos RAR" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:321 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:332 msgid "Read metadata from ebooks in ZIP archives" msgstr "Lê os metadados dos livros digitais, contidos nos arquivos ZIP" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:334 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:344 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:354 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:345 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:355 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:387 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:397 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:398 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:408 msgid "Set metadata in %s files" msgstr "Define os metadados nos ficheiros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:365 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:376 msgid "Set metadata from %s files" msgstr "Define os metadados a partir dos ficheiros %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:691 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 msgid "Look and Feel" msgstr "Aparência e Tacto" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:693 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:705 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:716 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:697 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Ajuste o interface de utilizador do Calibre às suas necessidades" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:703 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:709 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 msgid "Change the way calibre behaves" msgstr "Altere o comportamento do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:714 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:180 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Adicione as suas próprias colunas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:720 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Adicione/remova as suas próprias colunas à lista de livros do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 msgid "Customize the toolbar" msgstr "Personalize a barra de ferramentas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -310,56 +312,58 @@ msgstr "" "Personalize as barras de ferramentas e menus de contexto, alterando as " "acções que estão disponíveis em cada um" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:737 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 msgid "Input Options" msgstr "Opções de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:739 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:750 #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Conversion" msgstr "Conversão" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:743 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 msgid "Set conversion options specific to each input format" msgstr "Defina opções especifícas para cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:748 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 msgid "Common Options" msgstr "Opções Comuns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:754 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 msgid "Set conversion options common to all formats" msgstr "Defina opções comuns a todos os formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 msgid "Set conversion options specific to each output format" msgstr "Defina opções específicas para cada formato de saída" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 msgid "Adding books" msgstr "A adicionar livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:784 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 msgid "Control how calibre reads metadata from files when adding books" msgstr "" +"Controlar a forma como o Calibre revê metadados dos ficheiros ao adicionar " +"livros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:782 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 msgid "Saving books to disk" msgstr "A gravar livros para o disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:788 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -367,82 +371,87 @@ msgstr "" "Controle a forma como o Calibre exporta ficheiro da sua base de dados quando " "grava para o disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 msgid "Sending books to devices" msgstr "Enviar livros para os dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controle a forma como o Calibre transfere livros para o seu e-reader" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 msgid "Metadata plugboards" -msgstr "" +msgstr "Módulos de extensão de metadados" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 msgid "Change metadata fields before saving/sending" -msgstr "" +msgstr "Alterar os metadados antes de gravar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:817 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 msgid "Sharing books by email" msgstr "Partilhar livros por e-mail" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:819 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:831 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing" msgstr "Partilhar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:823 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" msgstr "" +"Configurar partilha de livros através de correio electrónico. É possível " +"enviar automaticamente as notícias transferidas para os seus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:829 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 msgid "Sharing over the net" -msgstr "" +msgstr "Partilha através da Internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:835 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" msgstr "" +"Configurar o servidor de conteúdos do Calibre para permitir o acesso à sua " +"biblioteca Calibre através da Internet, independentemente do dispositivo ou " +"sítio" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:842 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 msgid "Plugins" msgstr "Extras" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:844 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:856 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:867 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Advanced" msgstr "Avançadas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:848 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 msgid "Add/remove/customize various bits of calibre functionality" -msgstr "" +msgstr "Adicionar/remover/personalizar as funcionalidades do Calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:854 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 msgid "Tweaks" -msgstr "" +msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:860 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 msgid "Fine tune how calibre behaves in various contexts" -msgstr "" +msgstr "Ajustar o comportamento do Calibre em vários contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:865 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 msgid "Miscellaneous" -msgstr "" +msgstr "Outras Opções" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:871 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 msgid "Miscellaneous advanced configuration" -msgstr "" +msgstr "Outras opções de configuração" #: /home/kovid/work/calibre/src/calibre/customize/conversion.py:102 msgid "Conversion Input" msgstr "Origem da conversão" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:129 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:134 msgid "" "Specify the character encoding of the input document. If set this option " "will override any encoding declared by the document itself. Particularly " @@ -454,11 +463,11 @@ msgstr "" "documento. Particularmente útil em documentos que não declaram uma " "codificação ou que têm declarações de codificação erradas." -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:241 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:246 msgid "Conversion Output" msgstr "Ficheiro de destino da conversão" -#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:255 +#: /home/kovid/work/calibre/src/calibre/customize/conversion.py:260 msgid "" "If specified, the output plugin will try to create output that is as human " "readable as possible. May not have any effect for some output plugins." @@ -467,11 +476,11 @@ msgstr "" "mais próximo possível da leitura humana. Pode não ter nenhum efeito para " "alguns extras de destino." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:46 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:47 msgid "Input profile" msgstr "Perfil de origem" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:50 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:51 msgid "" "This profile tries to provide sane defaults and is useful if you know " "nothing about the input document." @@ -479,82 +488,82 @@ msgstr "" "Este perfil tenta fornecer predefinições correctas e é útil se não sabe nada " "sobre o documento de origem." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:58 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:425 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:59 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:444 msgid "" "This profile is intended for the SONY PRS line. The 500/505/600/700 etc." msgstr "" "Este perfil funciona com a linha SONY PRS. Modelos 500/505/600/700 etc." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:70 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:71 msgid "This profile is intended for the SONY PRS 300." msgstr "Este perfil funciona com o SONY PRS 300." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:79 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:462 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:80 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:484 msgid "This profile is intended for the SONY PRS-900." msgstr "Este perfil funciona com o SONY SONY PRS-900." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:87 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:492 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:88 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:513 msgid "This profile is intended for the Microsoft Reader." msgstr "Este perfil é destinado ao Microsoft Reader." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:98 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:503 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:99 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:524 msgid "This profile is intended for the Mobipocket books." msgstr "Este perfil é destinado aos livros Mobipocket." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:111 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:516 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:112 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:537 msgid "This profile is intended for the Hanlin V3 and its clones." msgstr "Este perfil é destinado ao Hanlin V3 e aos seus clones." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:123 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:528 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:124 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:549 msgid "This profile is intended for the Hanlin V5 and its clones." msgstr "Este perfil funciona com o Hanlin V5 e clones." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:133 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:536 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:134 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:557 msgid "This profile is intended for the Cybook G3." msgstr "Este perfil é destinado ao Cybook G3." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:146 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:549 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:147 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:570 msgid "This profile is intended for the Cybook Opus." msgstr "Este perfil é destinado ao Cybook Opus." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:158 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:560 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:159 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:583 msgid "This profile is intended for the Amazon Kindle." msgstr "Este perfil é destinado ao Amazon Kindle." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:170 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:600 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:171 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:631 msgid "This profile is intended for the Irex Illiad." msgstr "Este perfil é destinado ao Irex Illiad." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:182 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:613 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:183 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:644 msgid "This profile is intended for the IRex Digital Reader 1000." msgstr "Este perfil é destinado ao IRex Digital Reader 1000." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:195 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:627 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:196 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:658 msgid "This profile is intended for the IRex Digital Reader 800." msgstr "Este perfil funciona com o IRex Digital Reader 800." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:207 -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:641 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:208 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:672 msgid "This profile is intended for the B&N Nook." msgstr "Este perfil funciona com o B&N Nook." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:229 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:230 msgid "Output profile" msgstr "Perfil de destino" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:233 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:234 msgid "" "This profile tries to provide sane defaults and is useful if you want to " "produce a document intended to be read at a computer or on a range of " @@ -563,24 +572,28 @@ msgstr "" "Este perfil tenta fornecer predefinições correctas e é útil se quiser criar " "um documento que possa ser lido no computador ou em vários aparelhos." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:269 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:276 msgid "" "Intended for the iPad and similar devices with a resolution of 768x1024" msgstr "Funciona com o iPad e aparelhos similares com resolução de 768x1024." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:440 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:435 +msgid "Intended for generic tablet devices, does no resizing of images" +msgstr "Destinado a dispositivos genéricos de tablet" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:462 msgid "This profile is intended for the Kobo Reader." msgstr "Este perfil funciona com o Kobo Reader." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:453 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:475 msgid "This profile is intended for the SONY PRS-300." -msgstr "" +msgstr "Este perfil destina-se ao Sony PRS-300." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:471 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:493 msgid "This profile is intended for the 5-inch JetBook." msgstr "Este perfil é destinado ao JetBook de 5 polegadas." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:480 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 msgid "" "This profile is intended for the SONY PRS line. The 500/505/700 etc, in " "landscape mode. Mainly useful for comics." @@ -588,10 +601,14 @@ msgstr "" "Este perfil é destinado à linha SONY PRS. A 500/505/700, etc, em modo " "paisagem. Principalmente útil para banda desenhada." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:581 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:609 msgid "This profile is intended for the Amazon Kindle DX." msgstr "Este perfil é destinado ao Amazon Kindle DX." +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +msgid "This profile is intended for the Sanda Bambook." +msgstr "Este perfil destina-se ao Sanda Bambook." + #: /home/kovid/work/calibre/src/calibre/customize/ui.py:34 msgid "Installed plugins" msgstr "Extras instalados" @@ -610,7 +627,7 @@ msgstr "Extras desactivados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:38 msgid "Enabled plugins" -msgstr "" +msgstr "Módulos de extensão activados" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:93 msgid "No valid plugin found in " @@ -667,57 +684,65 @@ msgstr "Desactivar o extra mencionado" msgid "Communicate with Android phones." msgstr "Comunica com telefones Android." -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:52 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:56 msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used" msgstr "" +"Lista de directorias separada por vírgulas para enviar e-books para o " +"dispositivo (a primeira existente será usada)" -#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:94 +#: /home/kovid/work/calibre/src/calibre/devices/android/driver.py:98 msgid "Communicate with S60 phones." -msgstr "" +msgstr "Comunicação com telefones S60" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:89 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:90 msgid "Apple device" -msgstr "" +msgstr "Dispositivo Apple" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:91 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:92 msgid "Communicate with iTunes/iBooks." -msgstr "" +msgstr "Comunicar com iTunes/iBooks" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:97 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:98 msgid "Apple device detected, launching iTunes, please wait ..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:256 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:259 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:100 +msgid "" +"Cannot copy books directly from iDevice. Drag from iTunes Library to " +"desktop, then add to calibre's Library window." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:260 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:263 msgid "Updating device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:335 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:374 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:943 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:983 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2945 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2985 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:339 +#: /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 msgid "%d of %d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:381 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:988 -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2991 +#: /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 msgid "finished" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:556 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:560 msgid "Use Series as Category in iTunes/iBooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:558 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:562 msgid "Cache covers from iTunes/iBooks" msgstr "Capas em 'cache' do iTunes/iBooks" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:570 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:574 msgid "" "Some books not found in iTunes database.\n" "Delete using the iBooks app.\n" @@ -727,7 +752,7 @@ msgstr "" "Apague-os utilizando a aplicação iBooks.\n" "Carregue em 'Mostrar Detalhes' para obter a lista." -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:907 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:911 msgid "" "Some cover art could not be converted.\n" "Click 'Show Details' for a list." @@ -735,27 +760,29 @@ msgstr "" "Algumas capas não puderam ser convertidas.\n" "Carregue em 'Mostrar Detalhes' para obter a lista." -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2542 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:823 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:853 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:248 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:209 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:222 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2007 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:135 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2553 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:444 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:467 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:882 +#: /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:257 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:187 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:200 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Notícias" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2543 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:556 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1970 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1988 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 msgid "Catalog" msgstr "Catálogo" -#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2849 +#: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2860 msgid "Communicate with iTunes." msgstr "Comunicar com iTunes." @@ -777,6 +804,10 @@ msgstr "Kovid Goyal" msgid "Communicate with the Cybook Gen 3 / Opus eBook reader." msgstr "Comunicar 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 "" + #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." msgstr "Comunica com o leitor EB600." @@ -847,10 +878,10 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:248 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:280 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:254 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:272 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." msgstr "A remover os livros do aparelho..." @@ -872,6 +903,10 @@ msgstr "Comunica com o leitor IRex Iliad." msgid "John Schember" msgstr "John Schember" +#: /home/kovid/work/calibre/src/calibre/devices/interface.py:44 +msgid "Cannot get files from this device" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/irexdr/driver.py:16 msgid "Communicate with the IRex Digital Reader 1000 eBook reader." msgstr "Comunica com o leitor IRex Digital Reader 1000." @@ -912,16 +947,16 @@ msgstr "" msgid "Communicate with the Kobo Reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:47 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:49 msgid "" "The Kobo supports only one collection currently: the \"Im_Reading\" list. " "Create a tag called \"Im_Reading\" " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:63 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:66 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:69 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:188 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:68 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:71 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:204 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:68 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:71 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:74 @@ -931,26 +966,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "A ir buscar a lista dos livros no aparelho..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:284 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:291 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:279 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:284 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "A apagar os livros da listagem de metadados do aparelho..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:331 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:217 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:248 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "A adicionar os livros à listagem de metadados do aparelho..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:393 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:253 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Não Implementado" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:394 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 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." @@ -969,19 +1004,23 @@ msgid "Communicate with the Sweex MM300" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/misc.py:79 +msgid "Communicate with the Digma Q600" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:88 msgid "Communicate with the Kogan" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:87 -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:114 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:96 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:123 msgid "Communicate with the Pandigital Novel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:124 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:142 msgid "Communicate with the VelocityMicro" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/misc.py:142 +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:160 msgid "Communicate with the GM2000" msgstr "" @@ -990,7 +1029,7 @@ msgid "Communicate with the Nokia 770 internet tablet." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:40 -msgid "Communicate with the Nokia 810 internet tablet." +msgid "Communicate with the Nokia 810/900 internet tablet." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:74 @@ -1005,6 +1044,14 @@ msgstr "" msgid "Communicate with the Nook eBook reader." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:85 +msgid "Nook Color" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/nook/driver.py:86 +msgid "Communicate with the Nook Color eBook reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/nuut2/driver.py:17 msgid "Communicate with the Nuut2 eBook reader." msgstr "Comunica com o leitor Nuut2." @@ -1023,7 +1070,7 @@ msgid "" "device. Possibilities include: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:149 +#: /home/kovid/work/calibre/src/calibre/devices/prs505/sony_cache.py:190 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/structure.py:68 msgid "Unnamed" msgstr "Sem nome" @@ -1040,31 +1087,35 @@ msgstr "" msgid "Communicate with the Newsmy reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:48 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:47 +msgid "Communicate with the Pico reader." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:57 msgid "Communicate with the iPapyrus reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:59 +#: /home/kovid/work/calibre/src/calibre/devices/teclast/driver.py:68 msgid "Communicate with the Sovos reader." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:255 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:258 msgid "Unable to detect the %s disk drive. Try rebooting." msgstr "Incapaz de detectar o disco %s. Tente reiniciar" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:435 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:438 msgid "Unable to detect the %s mount point. Try rebooting." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:500 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:503 msgid "Unable to detect the %s disk drive." msgstr "Incapaz de detectar o disco %s." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:593 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:596 msgid "Could not find mount helper: %s." msgstr "É impossível encontrar o ajudante de montagem: %s." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:605 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:608 msgid "" "Unable to detect the %s disk drive. Your kernel is probably exporting a " "deprecated version of SYSFS." @@ -1072,25 +1123,31 @@ msgstr "" "É impossível detectar o disco %s. O seu kernel está provavelmente a exportar " "uma versão obsoleta do SYSFS." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:613 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:616 msgid "Unable to mount main memory (Error code: %d)" msgstr "Incapaz de montar a memória principal (Código de erro: %d)" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:750 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:752 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:667 +msgid "" +"The main memory of %s is read only. This usually happens because of file " +"system errors." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:815 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:817 msgid "The reader has no storage card in this slot." msgstr "O leitor não tem nenhum cartão de memória nesta ranhura." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:754 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:819 msgid "Selected slot: %s is not supported." msgstr "Ranhura seleccionada: %s não é suportado." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:783 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:848 msgid "There is insufficient free space in main memory" msgstr "O espaço livre na memória principal é insuficiente" -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:785 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:787 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:850 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/device.py:852 msgid "There is insufficient free space on the storage card" msgstr "O espaço livre no cartão de memória é insuficiente" @@ -1136,101 +1193,15 @@ msgstr "Comunica com um leitor de livros." msgid "Get device information..." msgstr "A ir buscar informação sobre o aparelho..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:194 -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:196 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:195 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:197 msgid "Transferring books to device..." msgstr "A transferir o(s) livro(s) para o aparelho..." -#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:314 +#: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:316 msgid "Sending metadata to device..." msgstr "A enviar os metadados para o aparelho..." -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:41 -msgid "%prog [options] mybook.chm" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:42 -msgid "Output directory. Defaults to current directory" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:45 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 -msgid "Set the book title" -msgstr "Definir o título do livro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:47 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 -msgid "Set sort key for the title" -msgstr "Definir a chave de ordenação para o título" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:49 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 -msgid "Set the author" -msgstr "Definir o autor" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:51 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 -msgid "Set sort key for the author" -msgstr "Definir a chave de ordenação para o(s) autor(es)" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:53 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 -msgid "The category this book belongs to. E.g.: History" -msgstr "A categoria a que pertence este livro. Ex.: História" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:56 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:600 -msgid "Path to a graphic that will be set as this files' thumbnail" -msgstr "" -"Caminho para a imagem que vai ser definida como miniatura para este ficheiro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:59 -msgid "Path to a txt file containing a comment." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:62 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 -msgid "Extract thumbnail from LRF file" -msgstr "Extrair a miniatura do ficheiro LRF" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:63 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 -msgid "Set the publisher" -msgstr "Definir a editora" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:64 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 -msgid "Set the book classification" -msgstr "Definir a classificação do livro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:65 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 -msgid "Set the book creator" -msgstr "Definir o criador do livro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:66 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 -msgid "Set the book producer" -msgstr "Definir o produtor do livro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:68 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 -msgid "" -"Extract cover from LRF file. Note that the LRF format has no defined cover, " -"so we use some heuristics to guess the cover." -msgstr "" -"Extrair a capa do ficheiro LRF. Tenha em conta que o formato LRF não tem " -"capa definida, portanto usam-se heurísticas para adivinhar a capa." - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:70 -#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 -msgid "Set book ID" -msgstr "Definir o ID do livro" - -#: /home/kovid/work/calibre/src/calibre/ebooks/chm/reader.py:72 -msgid "Set font delta" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:182 msgid "Rendered %s" msgstr "%s representado" @@ -1444,12 +1415,12 @@ msgstr "Listar as receitas integradas" msgid "Output saved to" msgstr "Ficheiro de destino guardado em" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:95 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:99 msgid "Level of verbosity. Specify multiple times for greater verbosity." msgstr "" "Nível de indicações. Especificar múltiplas vezes para mais indicações." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:102 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:106 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -1459,7 +1430,7 @@ msgstr "" "especificada. Útil se não tem a certeza em que etapa do processo de " "conversão é que está a ocorrer o erro." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:111 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:115 msgid "" "Specify the input profile. The input profile gives the conversion system " "information on how to interpret various information in the input document. " @@ -1471,7 +1442,7 @@ msgstr "" "oriem. Por exemplo comprimento dependente da resolução (i. e. comprimento em " "pixels). Escolhas disponíveis:" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:126 msgid "" "Specify the output profile. The output profile tells the conversion system " "how to optimize the created document for the specified device. In some " @@ -1484,7 +1455,7 @@ msgstr "" "funcionem num aparelho. Por exemplo EPUB no leitor SONY. Escolhas " "disponíveis:" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:133 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:137 msgid "" "The base font size in pts. All font sizes in the produced book will be " "rescaled based on this size. By choosing a larger size you can make the " @@ -1497,7 +1468,7 @@ msgstr "" "destino serão maiores e vice versa. Por predefinição o tamanho do tipo de " "letra padrão é escolhido baseado no perfil de destino que escolheu." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:143 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:147 msgid "" "Mapping from CSS font names to font sizes in pts. An example setting is " "12,12,14,16,18,20,22,24. These are the mappings for the sizes xx-small to xx-" @@ -1513,11 +1484,11 @@ msgstr "" "tipos de letra. A predefinição é usar a estrutura baseada no perfil de " "destino que escolheu." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:155 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:159 msgid "Disable all rescaling of font sizes." msgstr "Desactivar a alteração proporcional do tamanho dos tipos de letra." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:162 +#: /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." @@ -1526,7 +1497,7 @@ msgstr "" "de texto. Por predefinição não é efectuada qualquer manipulação na altura da " "linha." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:174 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 " @@ -1538,7 +1509,7 @@ msgstr "" "que sai para fora da página e outros problemas. Esta opção extrai o conteúdo " "das tabelas e apresenta-o de uma forma linear." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:180 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:184 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 " @@ -1548,7 +1519,7 @@ msgstr "" "ao Índice com o nível 1. Se isto for especificado assume prevalência sobre " "outras formas de detecção automática." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:189 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:193 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 " @@ -1558,7 +1529,7 @@ msgstr "" "ao Índice com o nível 2. Cada entrada é acrescentada abaixo da entrada " "anterior com o nível 1." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:197 +#: /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 three. Each entry is added under the previous level two " @@ -1568,7 +1539,7 @@ msgstr "" "ao Índice com o nível 3. Cada entrada é acrescentada abaixo da entrada " "anterior com o nível 2." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:205 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:209 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 " @@ -1578,11 +1549,11 @@ msgstr "" "vez do gerado automaticamente. Com esta opção o gerado automaticamente é " "sempre utilizado." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:213 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:217 msgid "Don't add auto-detected chapters to the Table of Contents." msgstr "Não adicionar ao Índice os capítulos detectados automaticamente." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:224 msgid "" "If fewer than this number of chapters is detected, then links are added to " "the Table of Contents. Default: %default" @@ -1590,7 +1561,7 @@ msgstr "" "Se forem detectados menos capítulos do que este número, os atalhos serão " "adicionados ao Índice. A predefinição é: %default" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:227 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:231 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 " @@ -1600,7 +1571,7 @@ msgstr "" "predefinição é: %default. Os atalhos só são adicionados ao Índice se forem " "detectados menos que o limite de capítulos." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:235 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:239 msgid "" "Remove entries from the Table of Contents whose titles match the specified " "regular expression. Matching entries and all their children are removed." @@ -1609,7 +1580,7 @@ msgstr "" "especificada. As entradas correspondentes e as suas dependentes são " "removidas." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:246 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:250 msgid "" "An XPath expression to detect chapter titles. The default is to consider " "

or

tags that contain the words \"chapter\",\"book\",\"section\" or " @@ -1626,7 +1597,7 @@ msgstr "" "expressão \"/\". Ver o Tutorial XPath no Manual do Utilizador do calibre " "para mais ajuda em como usar esta funcionalidade." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:260 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:264 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 " @@ -1639,7 +1610,7 @@ msgstr "" "desactivar a marcação de capítulos e um valor \"ambos\" irá usar tanto " "quebras de página como linhas para marcar os capítulos." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:270 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:274 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 " @@ -1649,42 +1620,42 @@ msgstr "" "adicionado às regras de estilo do ficheiro de origem de modo a ser usado " "para se sobrepor a essas regras." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:279 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:283 msgid "" "An XPath expression. Page breaks are inserted before the specified elements." msgstr "" "Uma expressão XPath. As quebras de página são inseridas antes dos elementos " "especificados." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:285 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:289 msgid "" "Set the top margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Definir a margem superior em pts. A predefinição é %default. Nota: 72 pts é " "igual a 1 polegada" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:290 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:294 msgid "" "Set the bottom margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Definir a margem inferior em pts. A predefinição é %default. Nota: 72 pts é " "igual a 1 polegada" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:295 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:299 msgid "" "Set the left margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Definir a margem esquerda em pts. A predefinição é %default. Nota: 72 pts é " "igual a 1 polegada" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:300 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:304 msgid "" "Set the right margin in pts. Default is %default. Note: 72 pts equals 1 inch" msgstr "" "Definir a margem direita em pts. A predefinição é %default. Nota: 72 pts é " "igual a 1 polegada" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:306 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:310 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 " @@ -1693,7 +1664,7 @@ msgid "" "Note that only some output formats support justification." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:316 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:320 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 " @@ -1703,21 +1674,21 @@ msgstr "" "parágrafos de 1.5em. A remoção do espaçamento não funciona se o ficheiro de " "origem não usar parágrafos (etiquetas

ou

)." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:323 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:327 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:330 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:334 msgid "" "Use the cover detected from the source file in preference to the specified " "cover." msgstr "" "Usar a capa detectada no ficheiro de origem em vez da capa especificada." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:336 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:340 msgid "" "Insert a blank line between paragraphs. Will not work if the source file " "does not use paragraphs (

or

tags)." @@ -1725,7 +1696,7 @@ msgstr "" "Inserir uma linha em branco entre os parágrafos. Não funciona se o ficheiro " "de origem não usar parágrafos (etiquetas

ou

)." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:343 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:347 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." @@ -1733,7 +1704,7 @@ msgstr "" "Remover a primeira imagem do livro de origem. Útil se a primeira imagem do " "ficheiro de origem é a capa e se está a especificar uma capa externa." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:351 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:355 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." @@ -1741,7 +1712,7 @@ msgstr "" "Inserir os metadados do livro no seu início. Isto é útil se o seu leitor não " "suporta apresentar/procurar os metadados directamente." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:359 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:363 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." @@ -1749,7 +1720,7 @@ msgstr "" "Tentar detectar e corrigir as quebras de página e outros problemas no " "ficheiro de origem. Pode piorar as coisas, por isso use com cuidado." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:367 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:371 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 " @@ -1758,29 +1729,29 @@ msgid "" "variable." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:376 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:380 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:384 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 msgid "Use a regular expression to try and remove the header." msgstr "Usar a expressão regular para tentar remover o cabeçalho." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:391 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:395 msgid "The regular expression to use to remove the header." msgstr "A expressão regular a usar para remover o cabeçalho." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:397 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "Use a regular expression to try and remove the footer." msgstr "Usar a expressão regular para tentar remover o rodapé." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:404 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:408 msgid "The regular expression to use to remove the footer." msgstr "A expressão regular a usar para remover o rodapé." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:411 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:415 msgid "" "Read metadata from the specified OPF file. Metadata read from this file will " "override any metadata in the source file." @@ -1788,7 +1759,7 @@ msgstr "" "Ler os metadados do ficheiro OPF especificado. Os metadados lidos deste " "ficheiro vão sobrepor-se aos metadados no ficheiro de origem." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:418 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:422 msgid "" "Transliterate unicode characters to an ASCII representation. Use with care " "because this will replace unicode characters with ASCII. For instance it " @@ -1804,7 +1775,7 @@ msgstr "" "Chinês e o Japonês por exemplo) a representação usada pelo maior número de " "pessoas será usada (Chinês no exemplo anterior)." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:433 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:437 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 " @@ -1814,103 +1785,103 @@ msgid "" "instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:445 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 msgid "Set the title." msgstr "Definir o título." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:453 msgid "Set the authors. Multiple authors should be separated by ampersands." msgstr "Definir os autores. Múltiplos autores devem ser separados por &." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:454 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:458 msgid "The version of the title to be used for sorting. " msgstr "A versão do título a ser usada para a ordenação. " -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:458 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:462 msgid "String to be used when sorting by author. " msgstr "Expressão a ser usada quando ordenar por autor. " -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:462 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:466 msgid "Set the cover to the specified file or URL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:466 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:470 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:54 msgid "Set the ebook description." msgstr "Definir a descrição do livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:470 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:474 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:56 msgid "Set the ebook publisher." msgstr "Definir a editora do livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:474 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:478 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:60 msgid "Set the series this ebook belongs to." msgstr "Definir a série a que este livro pertence." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:478 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:482 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:62 msgid "Set the index of the book in this series." msgstr "Definir o índice do livro nesta série." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:482 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:486 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:64 msgid "Set the rating. Should be a number between 1 and 5." msgstr "Definir a avaliação. Deve ser um algarismo entre 1 e 5." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:486 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:490 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:66 msgid "Set the ISBN of the book." msgstr "Definir o ISBN do livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:490 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:494 #: /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 "" "Definir as etiquetas do livro. Deve ser uma lista separada por vírgulas." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:494 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:498 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:70 msgid "Set the book producer." msgstr "Definir o produtor do livro." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:498 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:502 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:72 msgid "Set the language." msgstr "Definir a linguagem." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:502 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:506 msgid "Set the publication date." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:506 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:510 msgid "Set the book timestamp (used by the date column in calibre)." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:606 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:610 msgid "Could not find an ebook inside the archive" msgstr "Foi impossível localizar um livro dentro do arquivo" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:664 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:668 msgid "Values of series index and rating must be numbers. Ignoring" msgstr "" "Os valores do índice da série e da avaliação devem ser algarismos. A ignorar" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:671 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:675 msgid "Failed to parse date/time" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:826 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:830 msgid "Converting input to HTML..." msgstr "A converter o ficheiro de origem para HTML..." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:853 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:858 msgid "Running transforms on ebook..." msgstr "A executar as transformações no livro..." -#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:940 +#: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:945 msgid "Creating" msgstr "A criar" @@ -2023,7 +1994,8 @@ msgid "" "option the image may be slightly distorted, but there will be no borders." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:169 +#: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:170 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:203 msgid "Start" msgstr "" @@ -2082,13 +2054,27 @@ msgstr "" "fazer porque pode resultar em vários efeitos colaterais nefastos no resto da " "cadeia de conversão." -#: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:273 -msgid "" -"Average line length for line breaking if the HTML is from a previous partial " -"conversion of a PDF file. Default is %default which disables this." +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 +msgid "CSS file used for the output instead of the default file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:36 +msgid "" +"Template used for generation of the html index file instead of the default " +"file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:39 +msgid "" +"Template used for the generation of the html contents of the book instead of " +"the default file" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:42 +msgid "" +"Extract the contents of the generated ZIP file to the specified directory. " +"WARNING: The contents of the directory will be deleted." msgstr "" -"Tamanho médio da linha a quebrar se o HTML é de uma conversão parcial " -"anterior de um ficheiro PDF. A predefinição é: %default que desactiva isto." #: /home/kovid/work/calibre/src/calibre/ebooks/lit/from_any.py:47 msgid "Creating LIT file from EPUB..." @@ -2254,6 +2240,31 @@ msgstr "" "Mostrar/editar os metadados num ficheiro LRF.\n" "\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:589 +msgid "Set the book title" +msgstr "Definir o título do livro" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:591 +msgid "Set sort key for the title" +msgstr "Definir a chave de ordenação para o título" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:593 +msgid "Set the author" +msgstr "Definir o autor" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:595 +msgid "Set sort key for the author" +msgstr "Definir a chave de ordenação para o(s) autor(es)" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:597 +msgid "The category this book belongs to. E.g.: History" +msgstr "A categoria a que pertence este livro. Ex.: História" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:600 +msgid "Path to a graphic that will be set as this files' thumbnail" +msgstr "" +"Caminho para a imagem que vai ser definida como miniatura para este ficheiro" + #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:603 msgid "" "Path to a txt file containing the comment to be stored in the lrf file." @@ -2261,6 +2272,38 @@ msgstr "" "Caminho para um ficheiro TXTcontendo o comentário a ser guardado no ficheiro " "LRF." +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:607 +msgid "Extract thumbnail from LRF file" +msgstr "Extrair a miniatura do ficheiro LRF" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:608 +msgid "Set the publisher" +msgstr "Definir a editora" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:609 +msgid "Set the book classification" +msgstr "Definir a classificação do livro" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:610 +msgid "Set the book creator" +msgstr "Definir o criador do livro" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:611 +msgid "Set the book producer" +msgstr "Definir o produtor do livro" + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:613 +msgid "" +"Extract cover from LRF file. Note that the LRF format has no defined cover, " +"so we use some heuristics to guess the cover." +msgstr "" +"Extrair a capa do ficheiro LRF. Tenha em conta que o formato LRF não tem " +"capa definida, portanto usam-se heurísticas para adivinhar a capa." + +#: /home/kovid/work/calibre/src/calibre/ebooks/lrf/meta.py:615 +msgid "Set book ID" +msgstr "Definir o ID do livro" + #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/output.py:90 msgid "Enable autorotation of images that are wider than the screen width." msgstr "" @@ -2328,10 +2371,6 @@ msgstr "Família de tipos de letra monospace a integrar" msgid "Comic" msgstr "Banda Desenhada" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/amazon.py:85 -msgid "EDITORIAL REVIEW" -msgstr "REVISÃO EDITORIAL" - #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/archive.py:41 msgid "" "Extract common e-book formats from archives (zip/rar) files. Also try to " @@ -2344,33 +2383,35 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:533 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:448 msgid "No" msgstr "Não" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:533 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:448 msgid "Yes" msgstr "Sim" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:605 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/info.py:45 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:97 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:98 +#: /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/delete_matching_from_device.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:58 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:65 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:378 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:924 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:289 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:589 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:373 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:923 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:303 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:570 msgid "Title" msgstr "Título" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:606 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:59 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:67 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:383 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:925 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:924 msgid "Author(s)" msgstr "Autor(es)" @@ -2386,36 +2427,37 @@ msgid "Producer" msgstr "Produtor" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:609 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:212 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:206 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:189 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:99 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:72 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:332 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1132 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1131 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:178 msgid "Comments" msgstr "Comentários" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:611 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:154 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:29 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:73 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:320 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1128 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:146 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 msgid "Tags" msgstr "Etiquetas" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:613 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:152 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:74 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:337 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1137 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1136 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:108 msgid "Series" msgstr "Série" @@ -2424,15 +2466,15 @@ msgid "Language" msgstr "Linguagem" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:616 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1120 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1119 msgid "Timestamp" msgstr "Data e Hora" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/book/base.py:618 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:151 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:157 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:70 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:244 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:258 msgid "Published" msgstr "Editado" @@ -2604,45 +2646,49 @@ msgstr "" msgid "Downloads metadata from Douban.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:51 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:57 msgid "Metadata download" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:141 msgid "ratings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:141 msgid "tags" msgstr "etiquetas" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:129 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:142 msgid "description/reviews" msgstr "descrições/revisões" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:130 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:143 msgid "Download %s from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:156 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +msgid "Convert comments downloaded from %s to plain text" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 msgid "Downloads metadata from Google Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:173 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:201 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:211 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 msgid "Downloads social metadata from amazon.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" @@ -2699,8 +2745,8 @@ msgid "" "LibraryThing.com\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1303 -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1397 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" msgstr "Capa" @@ -2734,78 +2780,78 @@ msgstr "Desactivar a compressão do conteúdo do ficheiro." msgid "Tag marking book to be filed with Personal Docs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:108 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:107 msgid "All articles" msgstr "Todos os artigos" -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:259 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:262 msgid "This is an Amazon Topaz book. It cannot be processed." msgstr "Isto é um livro Amazon Topaz. Não pode ser processado." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1398 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 msgid "Title Page" msgstr "Página de Título" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1399 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1403 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:199 msgid "Table of Contents" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1400 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1404 msgid "Index" msgstr "Índice" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1405 msgid "Glossary" msgstr "Glossário" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1402 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1406 msgid "Acknowledgements" msgstr "Agradecimentos" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1403 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1407 msgid "Bibliography" msgstr "Bibliografia" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1404 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1408 msgid "Colophon" msgstr "Marca Tipográfica" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1405 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1409 msgid "Copyright" msgstr "Direitos de Autor" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1406 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1410 msgid "Dedication" msgstr "Dedicatória" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1407 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1411 msgid "Epigraph" msgstr "Epígrafe" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1408 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1412 msgid "Foreword" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1409 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1413 msgid "List of Illustrations" msgstr "Lista de Ilustrações" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1410 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1414 msgid "List of Tables" msgstr "Lista de Tabelas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1411 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1415 msgid "Notes" msgstr "Notas" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1412 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1416 msgid "Preface" msgstr "Prefácio" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1413 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1417 msgid "Main Text" msgstr "Texto Principal" @@ -2813,7 +2859,7 @@ msgstr "Texto Principal" msgid "%s format books are not supported" msgstr "Os livros no formato %s não são suportados" -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:103 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/cover.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:156 msgid "Book %s of %s" msgstr "" @@ -2822,8 +2868,9 @@ msgstr "" msgid "HTML TOC generation options." msgstr "Opções de geração do Índice em HTML." -#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:153 +#: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 msgid "Rating" msgstr "Avaliação" @@ -3180,13 +3227,14 @@ msgstr "" "Especifique a codificação de caracteres para o documento de destino. A " "predefinição é cp1252." -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:196 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:256 msgid "" "This RTF file has a feature calibre does not support. Convert it to HTML " "first and then try it.\n" "%s" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:25 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:23 msgid "" "Specify the character encoding of the output document. The default is utf-8." @@ -3194,6 +3242,50 @@ msgstr "" "Especifique a codificação de caracteres para o documento de destino. A " "predefinição é utf-8." +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:29 +#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 +msgid "" +"The maximum number of characters per line. This splits on the first space " +"before the specified value. If no space is found the line will be broken at " +"the space after and will exceed the specified value. Also, there is a " +"minimum of 25 characters. Use 0 to disable line splitting." +msgstr "" +"O número máximo de caracteres por linha. A divisão é feita no primeiro " +"espaço antes do valor especificado. Se não for encontrado nenhum espaço a " +"linha será dividida no espaço após o valor especificado e irá excedê-lo. O " +"valor mínimo é de 25 caracteres. Use 0 para desactivar a divisão de linhas." + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:36 +msgid "" +"Specify whether or not to insert an empty line between two paragraphs." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:40 +msgid "" +"Specify whether or not to insert two space characters to indent the first " +"line of each paragraph." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:44 +msgid "" +"Specify whether or not to hide the chapter title for each chapter. Useful " +"for image-only output (eg. comics)." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:122 +msgid "Start Page" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:132 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:134 +msgid "Cover Pages" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:147 +#: /home/kovid/work/calibre/src/calibre/ebooks/snb/output.py:150 +msgid " (Preface)" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/output.py:27 msgid "" "Specify the compression level to use. Scale 1 - 10. 1 being the lowest " @@ -3241,18 +3333,6 @@ msgstr "" "Especifique a codificação de caracteres para o documento de destino. A " "predefinição é utf-8. Nota: Esta opção não é cumprida por todos os formatos." -#: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:38 -msgid "" -"The maximum number of characters per line. This splits on the first space " -"before the specified value. If no space is found the line will be broken at " -"the space after and will exceed the specified value. Also, there is a " -"minimum of 25 characters. Use 0 to disable line splitting." -msgstr "" -"O número máximo de caracteres por linha. A divisão é feita no primeiro " -"espaço antes do valor especificado. Se não for encontrado nenhum espaço a " -"linha será dividida no espaço após o valor especificado e irá excedê-lo. O " -"valor mínimo é de 25 caracteres. Use 0 para desactivar a divisão de linhas." - #: /home/kovid/work/calibre/src/calibre/ebooks/txt/output.py:45 msgid "" "Force splitting on the max-line-length value when no space is present. Also " @@ -3380,7 +3460,7 @@ msgid "Disable UI animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 msgid "Copied" msgstr "Copiado" @@ -3447,7 +3527,7 @@ msgid "How many empty books should be added?" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:201 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:202 msgid "Uploading books to device." msgstr "A carregar os livros para o aparelho." @@ -3489,53 +3569,58 @@ msgid "PDF Books" msgstr "Livros em formato PDF" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169 +msgid "SNB Books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:170 msgid "Comics" msgstr "Banda desenhada" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Archives" msgstr "Arquivos" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:175 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:210 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:211 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:212 msgid "" "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:220 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:221 msgid "Failed to read metadata" msgstr "Falha ao ler os metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:222 msgid "Failed to read metadata from the following" msgstr "Falha ao ler os metadados do(s) seguinte(s)" #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:265 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:241 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 msgid "No book selected" msgstr "Nenhum livro seleccionado" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:254 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:259 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:260 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:265 msgid "No book files found" msgstr "" @@ -3548,7 +3633,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:536 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 msgid "Fetch annotations (experimental)" msgstr "" @@ -3643,7 +3728,7 @@ msgid "Checking database integrity" msgstr "A verificar a integridade da base de dados" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:645 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3671,6 +3756,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:162 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d books" msgstr "" @@ -3806,7 +3892,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:391 #: /home/kovid/work/calibre/src/calibre/gui2/actions/save_to_disk.py:101 -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:700 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:742 msgid "Not allowed" msgstr "Não permitido" @@ -3872,9 +3958,9 @@ 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:708 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:675 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" msgstr "" @@ -3935,14 +4021,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:473 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:482 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:475 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:484 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 msgid "Storage Card B" msgstr "" @@ -4083,7 +4169,7 @@ msgid "covers" msgstr "capas" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:96 -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "metadata" msgstr "metadados" @@ -4105,44 +4191,44 @@ msgstr "" msgid "At least two books must be selected for merging" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:197 msgid "" "Book formats and metadata from the selected books will be added to the " -"first selected book. ISBN will not be merged.

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:208 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:209 msgid "" "Book formats and metadata from the selected books will be merged into the " -"first selected book. 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 computer.

Are you sure " -"you want to proceed?" +"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 computer.

Are " +"you sure you want to proceed?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:222 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/fetch_news.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:17 msgid "F" msgstr "F" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:18 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:17 msgid "Fetch news" msgstr "Recolher notícias" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:52 msgid "Fetching news from " msgstr "Recolher notícias de " -#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/fetch_news.py:66 msgid " fetched." msgstr " recolhida." @@ -4256,6 +4342,7 @@ msgid "Click the show details button to see which ones." msgstr "Clique no botão ver detalhes para ver quais." #: /home/kovid/work/calibre/src/calibre/gui2/actions/show_book_details.py:16 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:650 msgid "Show book details" msgstr "Mostrar os detalhes do livro" @@ -4342,21 +4429,21 @@ msgstr "Ver" msgid "View specific format" msgstr "Ver o formato específico" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:156 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:158 msgid "Cannot view" msgstr "É impossível ver" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder.py:77 msgid "Choose the format to view" msgstr "Escolher o formato para ver" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:108 msgid "Multiple Books Selected" msgstr "Múltiplos livros seleccionados" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:109 msgid "" "You are attempting to open %d books. Opening too many books at once can be " "slow and have a negative effect on the responsiveness of your computer. Once " @@ -4367,11 +4454,11 @@ msgstr "" "e ter um efeito negativo na reacção do seu computador. Uma vez começado o " "processo não pode ser parado até estar completo. Deseja continuar?" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:118 msgid "Cannot open folder" msgstr "É impossível abrir a pasta" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:157 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:159 msgid "%s has no available formats." msgstr "%s não tem formatos disponíveis." @@ -4396,7 +4483,7 @@ msgid "The specified directory could not be processed." msgstr "É impossível processar a pasta especificada." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:851 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 msgid "No books" msgstr "Nenhuns livros" @@ -4470,20 +4557,20 @@ msgstr "" msgid "Add books to calibre" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:26 #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:41 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 msgid "WizardPage" msgstr "Página do Assistente" -#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:22 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:27 msgid "Scanning root folder for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/scan_ui.py:28 msgid "This may take a few minutes" msgstr "" @@ -4520,7 +4607,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add_wizard/welcome_ui.py:71 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:57 #: /home/kovid/work/calibre/src/calibre/gui2/convert/debug_ui.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:133 #: /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 @@ -4586,49 +4673,49 @@ msgid "" "&Multiple books per folder, assumes every ebook file is a different book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:23 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:47 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:313 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:114 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:125 #: /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:137 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:327 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1117 msgid "Path" msgstr "Caminho" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:24 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:118 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:119 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:326 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:319 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:24 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:103 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:117 msgid "Formats" msgstr "Formatos" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:25 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:928 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1121 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:927 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1120 msgid "Collections" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:60 msgid "Click to open" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:319 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:325 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:331 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1131 +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:312 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:324 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1126 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1130 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/shortcuts_ui.py:83 @@ -4636,8 +4723,8 @@ msgstr "" msgid "None" msgstr "Nenhum" -#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:312 -msgid "Click to open Book Details window" +#: /home/kovid/work/calibre/src/calibre/gui2/book_details.py:404 +msgid "Double-click to open Book Details window" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex.py:16 @@ -4658,6 +4745,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input.py:13 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:13 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "Options specific to" @@ -4673,37 +4761,39 @@ msgstr "Opções específicas a" #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output.py:17 #: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output.py:18 #: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output.py:15 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:15 #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:17 msgid "output" msgstr "Ficheiro de destino" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:81 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:27 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:82 +#: /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:48 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:28 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:31 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:122 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:53 +#: /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:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:127 +#: /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:66 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:31 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:35 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:38 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:71 +#: /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 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:39 #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:80 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:62 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:46 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:50 #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:55 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:82 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:40 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:48 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:136 @@ -4721,68 +4811,68 @@ msgstr "Ficheiro de destino" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:107 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 msgid "Form" msgstr "Formulário" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 msgid "Bib file encoding:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:83 -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_csv_xml_ui.py:43 msgid "Fields to include in output:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 msgid "ascii/LaTeX" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 msgid "Encoding configuration (change if you have errors) :" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "strict" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:88 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 msgid "ignore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 msgid "backslashreplace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "BibTeX entry type:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "mixed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:97 msgid "misc" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:98 msgid "book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:99 msgid "Create a citation tag?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:100 msgid "Expression to form the BibTeX citation tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:101 msgid "" "Some explanation about this template:\n" " -The fields availables are 'author_sort', 'authors', 'id',\n" @@ -4801,23 +4891,23 @@ msgstr "" msgid "E-book options" msgstr "Opções de E-book" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:83 msgid "'Don't include this book' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 msgid "'Mark this book as read' tag:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 msgid "" "Regex tips:\n" "- The default regex - \\[.+\\] - excludes genre tags of the form [tag], " @@ -4826,26 +4916,43 @@ msgid "" "Genre Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:92 msgid "Sort numbers as text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:87 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:93 msgid "Include 'Series' Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 +msgid "Wishlist tag:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:25 +msgid "Bold" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:26 +msgid "Italic" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/comments_editor.py:28 +msgid "Underline" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:36 msgid "" "For settings that cannot be specified in this dialog, use the values saved " @@ -4853,11 +4960,11 @@ msgid "" "specified in the Preferences" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:70 msgid "Bulk Convert" msgstr "Converter a granel" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/bulk.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single.py:185 msgid "Options specific to the output format." msgstr "Opções específicas ao formato de destino." @@ -4874,66 +4981,66 @@ msgstr "Banda Desenhada de origem" msgid "input" msgstr "ficheiro de origem" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:89 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:99 msgid "&Number of Colors:" msgstr "Número de &cores:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:90 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "Disable &normalize" msgstr "Desactivar nor&malizar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:91 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 msgid "Keep &aspect ratio" msgstr "Manter a &relação de aspecto" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:92 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:103 msgid "Disable &Sharpening" msgstr "Desactivar &nitidez" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:93 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:109 msgid "Disable &Trimming" msgstr "Desactivar &aparar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:94 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:108 msgid "&Wide" msgstr "&Largo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:104 msgid "&Landscape" msgstr "Paisa&gem" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:106 msgid "&Right to left" msgstr "&Direita para a esquerda" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:102 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:105 msgid "Don't so&rt" msgstr "Não &ordenar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:98 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:103 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:107 msgid "De&speckle" msgstr "Limpar &irregularidades" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:99 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:104 msgid "&Disable comic processing" msgstr "Desactivar o &processamento de banda desenhada" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:100 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120 msgid "&Output format:" msgstr "Formato de &destino:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:101 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:106 msgid "Disable conversion of images to &black and white" msgstr "" @@ -4985,27 +5092,27 @@ msgstr "" msgid "EPUB Output" msgstr "Ficheiro de destino EPUB" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:54 msgid "Do not &split on page breaks" msgstr "Não dividir nas &quebras de página" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:55 msgid "No default &cover" msgstr "Nenhuma &capa predefinida" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:56 msgid "No &SVG cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/epub_output_ui.py:57 msgid "Preserve cover &aspect ratio" msgstr "" -#: /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:58 msgid "Split files &larger than:" msgstr "Dividir os ficheiros &maiores que:" -#: /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:59 msgid " KB" msgstr " KB" @@ -5013,7 +5120,7 @@ msgstr " KB" msgid "FB2 Input" msgstr "Ficheiro de origem FB2" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:29 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_input_ui.py:34 msgid "Do not insert a &Table of Contents at the beginning of the book." msgstr "Não inserir um &Índice no início do livro." @@ -5021,14 +5128,14 @@ msgstr "Não inserir um &Índice no início do livro." msgid "FB2 Output" msgstr "Ficheiro de destino FB2" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:37 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:29 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/rb_output_ui.py:34 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:52 msgid "&Inline TOC" msgstr "Índice em &linha" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:33 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:38 msgid "Sectionize Chapters (Use with care!)" msgstr "" @@ -5062,22 +5169,22 @@ msgid "&Base font size:" msgstr "&Tamanho do tipo de letra padrão:" #: /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:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:131 msgid "Font size &key:" msgstr "C&have do tamanho do tipo de letra:" #: /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:125 #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:130 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:118 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:135 +#: /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/page_setup_ui.py:121 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:132 msgid " pt" msgstr " pt" @@ -5121,71 +5228,71 @@ msgstr "" msgid "Justify text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "&Disable font size rescaling" msgstr "&Desactivar a alteração proporcional do tamanho do tipo de letra" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Base &font size:" msgstr "Tamanho do tipo de letra &padrão:" -#: /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:132 msgid "Wizard to help you choose an appropriate font size key" msgstr "" "Assistente para ajudar a escolher uma chave de tamanho de letra apropriada" -#: /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:134 msgid "Line &height:" msgstr "&Altura da linha:" -#: /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:136 msgid "Input character &encoding:" msgstr "&Codificação de caracteres de origem:" -#: /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:137 msgid "Remove &spacing between paragraphs" msgstr "Remover o &espaçamento entre parágrafos" -#: /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:138 msgid "Indent size:" 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:139 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:135 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:140 msgid " em" 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:141 msgid "Text justification:" msgstr "Justificação do texto:" -#: /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:142 msgid "&Linearize tables" msgstr "&Linearizar as tabelas" -#: /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:143 msgid "Extra &CSS" msgstr "CSS e&xtra" -#: /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 msgid "&Transliterate unicode characters to ASCII" 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:145 msgid "Insert &blank line" msgstr "Inserir uma linha em &branco" -#: /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:146 msgid "Keep &ligatures" 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:147 msgid "Smarten &punctuation" msgstr "" @@ -5193,52 +5300,52 @@ msgstr "" msgid "LRF Output" msgstr "Ficheiro de destino LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 msgid "Enable &autorotation of wide images" msgstr "Activar a &rotação automática de imagens amplas" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "&Wordspace:" msgstr "&Espaço entre palavras:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Minimum para. &indent:" msgstr "A&vanço min. do parágrafo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Render &tables as images" msgstr "Representar as &tabelas como imagens" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "Text size multiplier for text in rendered tables:" msgstr "" "Multiplicador do tamanho do texto para o texto nas tabelas representadas:" -#: /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:128 msgid "Add &header" msgstr "Adicionar o &cabeçalho" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 msgid "Header &separation:" msgstr "Separação &do cabeçalho:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:131 msgid "Header &format:" msgstr "&Formato do cabeçalho:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132 msgid "&Embed fonts" msgstr "Tipos de letra &integrados" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 msgid "&Serif font family:" msgstr "Família de tipos de letra &Serif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:134 msgid "S&ans-serif font family:" msgstr "Família de tipos de letra S&ans-serif:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135 msgid "&Monospaced font family:" msgstr "Família de tipos de letra &Monospace:" @@ -5316,7 +5423,7 @@ msgid "Change the title of this book" msgstr "Alterar o título deste livro" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:179 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:315 +#: /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 msgid "&Author(s): " msgstr "&Autor(es): " @@ -5334,7 +5441,7 @@ msgstr "" "vírgula" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:324 +#: /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 msgid "&Publisher: " msgstr "&Editora: " @@ -5345,7 +5452,7 @@ msgid "Ta&gs: " msgstr "Eti&quetas: " #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:184 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:326 +#: /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 msgid "" "Tags categorize the book. This is particularly useful while searching. " @@ -5355,15 +5462,16 @@ msgstr "" "

Podem ser quaisquer palavras ou frases, separadas por vírgulas." #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata_ui.py:185 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:333 +#: /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/search_ui.py:214 msgid "&Series:" msgstr "&Série:" #: /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:334 -#: /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: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 msgid "List of known series. You can add new series." @@ -5382,35 +5490,35 @@ msgstr "Ficheiro de destino MOBI" msgid "Default" msgstr "Predefinição" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:72 msgid "&Title for Table of Contents:" msgstr "&Título para o Índice:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:73 msgid "Rescale images for &Palm devices" msgstr "Alterar o tamanho das imagens proporcionalmente para &aparelhos Palm" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Use author &sort for author" msgstr "Usar a &ordenação de autor para o autor" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:75 msgid "Disable compression of the file contents" msgstr "Desactivar a compressão do conteúdo do ficheiro" -#: /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:76 msgid "Do not add Table of Contents to book" msgstr "Não inserir um Índice no livro" -#: /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:77 msgid "Kindle options" 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:78 msgid "Periodical masthead font:" 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:79 msgid "Personal Doc tag:" msgstr "" @@ -5418,35 +5526,35 @@ msgstr "" msgid "Page Setup" msgstr "Configuração da Página" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 msgid "&Output profile:" msgstr "Perfil do ficheiro de &destino:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 msgid "Profile description" msgstr "Descrição do perfil" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:123 msgid "&Input profile:" msgstr "Perfil do ficheiro de &origem:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 msgid "Margins" msgstr "Margens" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:125 msgid "&Left:" msgstr "&Esquerda:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:127 msgid "&Top:" msgstr "&Superior:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:129 msgid "&Right:" msgstr "Di&reita:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:131 msgid "&Bottom:" msgstr "&Inferior" @@ -5454,13 +5562,13 @@ msgstr "&Inferior" msgid "PDB Input" msgstr "Ficheiro de origem PDB" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:52 msgid "Treat each &line as a paragraph" msgstr "Tratar cada &linha como um parágrafo" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:33 -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_input_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:53 msgid "Assume print formatting" msgstr "Assumir o formato de impressão" @@ -5468,7 +5576,7 @@ msgstr "Assumir o formato de impressão" msgid "PDB Output" msgstr "Ficheiro de destino PDB" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdb_output_ui.py:41 msgid "&Format:" msgstr "&Formato:" @@ -5476,11 +5584,11 @@ msgstr "&Formato:" msgid "PDF Input" msgstr "Ficheiro de origem PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:44 msgid "Line &Un-Wrapping Factor:" msgstr "&Factor de separação da linha:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:40 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_input_ui.py:45 msgid "No &Images" msgstr "Nenhuma &imagem" @@ -5488,15 +5596,15 @@ msgstr "Nenhuma &imagem" msgid "PDF Output" msgstr "Ficheiro de destino PDF" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:48 msgid "&Paper Size:" msgstr "&Tamanho do papel:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:49 msgid "&Orientation:" msgstr "&Orientação:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/pdf_output_ui.py:50 msgid "Preserve &aspect ratio of cover" msgstr "" @@ -5518,19 +5626,19 @@ msgstr "" msgid "Open book" msgstr "Abrir livro" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:57 msgid "Regex Builder" msgstr "Construtor Regex" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:58 msgid "Preview" msgstr "Pré-visualizar" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:59 msgid "Regex:" msgstr "Regex:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/regex_builder_ui.py:60 #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:122 msgid "Test" msgstr "Teste" @@ -5544,7 +5652,7 @@ msgid "Options specific to the input format." msgstr "Opções específicas ao formato de origem." #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress_ui.py:53 msgid "Dialog" @@ -5558,6 +5666,22 @@ msgstr "Formato de &origem:" msgid "Use &saved conversion settings for individual books" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:14 +msgid "SNB Output" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:40 +msgid "Hide chapter name" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:41 +msgid "Insert space before the first line for each paragraph" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output_ui.py:42 +msgid "Insert empty line between paragraphs" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection.py:17 msgid "" "Structure\n" @@ -5662,23 +5786,23 @@ msgstr "Índice de nível &2 (Expressão XPath):" msgid "Level &3 TOC (XPath expression):" msgstr "Índice de nível &3 (Expressão XPath):" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:63 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:68 msgid "Do not add &detected chapters to the Table of Contents" msgstr "Não adicionar os &capítulos detectados ao Índice" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:64 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:69 msgid "Number of &links to add to Table of Contents" msgstr "&Número de atalhos a adicionar ao Índice:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:65 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:70 msgid "Chapter &threshold" msgstr "&Limite de capítulos:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:71 msgid "&Force use of auto-generated Table of Contents" msgstr "&Forçar a utilização de Índices gerados automaticamente" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:72 msgid "TOC &Filter:" msgstr "Filtro do &Índice:" @@ -5686,11 +5810,11 @@ msgstr "Filtro do &Índice:" msgid "TXT Input" msgstr "Ficheiro de origem TXT" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:54 msgid "Process using markdown" msgstr "Processar usando markdown" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:55 msgid "" "

Markdown is a simple markup language for text files, that allows for " "advanced formatting. To learn more visit markdown." -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:56 msgid "Do not insert Table of Contents into output text when using markdown" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:57 msgid "Preserve &spaces" msgstr "" @@ -5712,21 +5836,21 @@ msgstr "" msgid "TXT Output" msgstr "Ficheiro de destino TXT" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:51 msgid "&Line ending style:" msgstr "Estilo de fim de &linha:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:53 msgid "&Maximum line length:" msgstr "Comprimento &máximo da linha:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output_ui.py:54 msgid "Force maximum line length" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xexp_edit_ui.py:56 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:70 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:78 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:46 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/confirm_delete_ui.py:54 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:62 @@ -5739,71 +5863,71 @@ msgstr "Rótulo do Texto" msgid "Use a wizard to help construct the XPath expression" msgstr "Use um assistente para ajudar a construir a expressão XPath" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 msgid "Match HTML &tags with tag name:" msgstr "Corresponder as &etiquetas HTML com o nome da etiqueta:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 msgid "*" msgstr "*" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 msgid "a" msgstr "a" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 msgid "br" msgstr "br" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 msgid "div" msgstr "div" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 msgid "h1" msgstr "h1" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 msgid "h2" msgstr "h2" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 msgid "h3" msgstr "h3" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:76 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 msgid "h4" msgstr "h4" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:77 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 msgid "h5" msgstr "h5" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:78 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 msgid "h6" msgstr "h6" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:79 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 msgid "hr" msgstr "hr" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:80 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:85 msgid "span" msgstr "span" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:86 msgid "Having the &attribute:" msgstr "Que tenham o &atributo:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:82 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:87 msgid "With &value:" msgstr "Com o &valor:" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:83 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:88 msgid "(A regular expression)" msgstr "(Uma expressão regular)" -#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:84 +#: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:89 msgid "" "

For example, to match all h2 tags that have class=\"chapter\", set tag to " "h2, attribute to class and value to " @@ -5827,6 +5951,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:145 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:448 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:111 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:131 #: /home/kovid/work/calibre/src/calibre/gui2/library/delegates.py:206 @@ -5851,122 +5976,128 @@ msgstr "" msgid " index:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:493 msgid "Remove series" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:496 msgid "Automatically number books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:468 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:367 msgid "Force numbers to start with " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:531 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:562 msgid "Remove all tags" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:583 msgid "tags to add" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/custom_column_widgets.py:588 msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nenhuns detalhes disponíveis." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 msgid "Device no longer connected." msgstr "O aparelho já não está ligado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:307 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 msgid "Get device information" msgstr "Ir buscar informação sobre o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 msgid "Get list of books on device" msgstr "Listar os livros presentes no aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:328 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:340 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send metadata to device" msgstr "Enviar os metadados para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:345 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 msgid "Upload %d books to device" msgstr "Carregar %d livro(s) para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:395 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 msgid "Delete books from device" msgstr "Apagar os livros do aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:412 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 msgid "Download books from device" msgstr "Descarregar os livros do aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:422 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 msgid "View book on device" msgstr "Ver o livro no aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 msgid "Set default send to device action" msgstr "Definir a acção predefinida Enviar para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:462 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 msgid "Send to main memory" msgstr "Enviar para a memória principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 msgid "Send to storage card A" msgstr "Enviar para o cartão de memória A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:466 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 msgid "Send to storage card B" msgstr "Enviar para o cartão de memória B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:471 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:480 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 msgid "Main Memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 -msgid "Send and delete from library" +msgid "Send specific format to" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 -msgid "Send specific format" +msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:528 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:646 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 msgid "Error communicating with device" msgstr "Erro ao comunicar com o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:667 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +msgid "No suitable formats" +msgstr "Nenhuns formatos suportados" + +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 msgid "Error talking to device" msgstr "Erro ao comunicar com o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -5974,127 +6105,118 @@ msgstr "" "Houve um erro temporário ao comunicar com o aparelho. Por favor desligue e " "volte a ligar o aparelho ou reinicie." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:758 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 msgid "Device: " msgstr "Aparelho: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:760 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:852 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 msgid "selected to send" msgstr "seleccionado para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 msgid "Choose format to send to device" msgstr "Escolher o formato a enviar para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:866 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 msgid "No device" msgstr "Nenhum aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:867 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 msgid "Cannot send: No device is connected" msgstr "É impossível enviar: O aparelho não está ligado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:870 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:874 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 msgid "No card" msgstr "Nenhum cartão" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:871 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 msgid "Cannot send: Device has no storage card" msgstr "É impossível enviar: O aparelho não tem cartão de memória" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:916 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 msgid "E-book:" msgstr "Livro:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:919 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 msgid "Attached, you will find the e-book" msgstr "Anexado, vai encontrar o livro" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:920 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "por" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:921 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 msgid "in the %s format." msgstr "no formato %s." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:934 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 msgid "Sending email to" msgstr "A enviar o email para" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:964 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:972 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1065 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1127 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1246 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1254 -msgid "No suitable formats" -msgstr "Nenhuns formatos suportados" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:965 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 msgid "Auto convert the following books before sending via email?" msgstr "" "Converter automaticamente os seguintes livros antes de enviar via email?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:973 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 msgid "" "Could not email the following books as no suitable formats were found:" msgstr "" "É impossível enviar os livros seguintes por email poque não foram " "encontrados formatos adequados:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 msgid "Failed to email books" msgstr "Falha no envio dos livros" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:992 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 msgid "Failed to email the following books:" msgstr "Falha no envio dos seguintes livros:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:996 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 msgid "Sent by email:" msgstr "Enviado por email:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1024 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 msgid "News:" msgstr "Notícias:" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1025 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 msgid "Attached is the" msgstr "Anexado está o" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1036 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 msgid "Sent news to" msgstr "Enviar as notícias para" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1066 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1247 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Converter automaticamente os seguintes livros antes de os carregar para o " "aparelho?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 msgid "Sending catalogs to device." msgstr "A enviar catálogos para o dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1160 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 msgid "Sending news to device." msgstr "Enviar notícias para o aparelho." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1213 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 msgid "Sending books to device." msgstr "A enviar livros para o aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 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." @@ -6103,11 +6225,11 @@ msgstr "" "encontrados formatos adequados. Converta o(s) livro(s) para um formato " "suportado pelo seu aparelho primeiro." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1319 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 msgid "No space on device" msgstr "Sem espaço no aparelho" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1320 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6161,15 +6283,15 @@ msgstr "" msgid "&Paste from clipboard" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:80 msgid "Fit &cover within view" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:81 msgid "&Previous" msgstr "&Anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:75 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/book_info_ui.py:82 msgid "&Next" msgstr "&Seguinte" @@ -6177,66 +6299,79 @@ msgstr "&Seguinte" msgid "My Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/tools.py:304 msgid "Generate catalog" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:75 msgid "Generate catalog for {0} books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:71 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:76 msgid "Catalog &format:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:72 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:77 msgid "" "Catalog &title (existing catalog with the same title will be replaced):" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:73 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:78 msgid "&Send catalog to device automatically" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:74 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/catalog_ui.py:79 msgid "Catalog options" msgstr "Opções do catálogo" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:21 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:26 msgid "Check Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:29 -msgid "Run the check" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:35 +msgid "&Run the check" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:32 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 -msgid "Copy to clipboard" -msgstr "Copiar para a Área de Transferência" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:48 -msgid "Names to ignore:" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:38 +msgid "Copy &to clipboard" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:54 +msgid "Names to ignore:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:59 +msgid "" +"Enter comma-separated standard file name wildcards, such as synctoy*.dat" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:62 msgid "Extensions to ignore" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:106 -msgid "Additional Information" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:67 +msgid "" +"Enter comma-separated extensions without a leading dot. Used only in book " +"folders" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 msgid "Path from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:106 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager.py:89 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 msgid "Name" msgstr "Nome" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:136 +msgid "" +"The marked files and folders will be permanently deleted. Are you " +"sure?" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_format_ui.py:45 msgid "Choose Format" msgstr "Escolher o formato" @@ -6278,7 +6413,7 @@ msgid "No location selected" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:628 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 msgid "Bad location" msgstr "" @@ -6321,6 +6456,7 @@ msgid "Set options for converting %s" msgstr "Definir as opções para converter %s" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:211 msgid "&Title:" msgstr "&Título" @@ -6332,7 +6468,7 @@ msgstr "&Autor(es):" msgid "&Profile:" msgstr "&Perfil:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:41 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comments_dialog_ui.py:46 msgid "Edit Comments" msgstr "" @@ -6356,19 +6492,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:69 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:926 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:925 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:31 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:280 -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:588 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:294 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Date" msgstr "Data" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device.py:76 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1117 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1116 msgid "Format" msgstr "Formato" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/delete_matching_from_device_ui.py:55 msgid "Delete from device" msgstr "" @@ -6377,35 +6513,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:615 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:590 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:616 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:591 msgid "Author names cannot contain & characters." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:66 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:71 msgid "Manage authors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:67 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:72 msgid "Sort by author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:68 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:73 msgid "Sort by author sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:69 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:74 msgid "" "Reset all the author sort values to a value automatically generated from the " "author. Exactly how this value is automatically generated can be controlled " "via Preferences->Advanced->Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:70 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:75 msgid "Recalculate all author sort values" msgstr "" @@ -6443,10 +6579,9 @@ msgstr "Não foram encontrados metadados" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:192 msgid "" -"No metadata found, try adjusting the title and author or the ISBN key." +"No metadata found, try adjusting the title and author and/or removing the " +"ISBN." msgstr "" -"Não foram encontrados metadados, experimente ajustar o título e o autor ou a " -"chave ISBN." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata_ui.py:90 msgid "Fetch metadata" @@ -6509,80 +6644,79 @@ msgstr "Mostrar os &detalhes do processo" msgid "Stop &all non device jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:25 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:26 msgid "Title/Author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:26 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:27 msgid "Standard metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:27 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:28 msgid "Custom metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:28 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:29 msgid "Search/Replace" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:33 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/progress.py:76 msgid "Working" msgstr "A trabalhar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:180 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 msgid "Lower Case" msgstr "Minúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:181 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:187 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:385 msgid "Upper Case" msgstr "Maiúsculas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:182 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:387 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" msgstr "Capitalização de Título" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:185 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:192 msgid "Regular Expression" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:189 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:195 msgid "Replace field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:196 msgid "Prepend to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:197 msgid "Append to field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:208 msgid "Editing meta information for %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:255 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:261 msgid "Book %d:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:276 msgid "" "You can destroy your library using this feature. Changes are " -"permanent. There is no undo function. This feature is experimental, and " -"there may be bugs. You are strongly encouraged to back up your library " -"before proceeding.

Search and replace in text fields using character " -"matching or regular expressions. " +"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:279 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:284 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 " @@ -6592,7 +6726,7 @@ msgid "" "text will match both upper- and lower-case letters" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:290 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:295 msgid "" "In regular expression mode, the search text is an arbitrary python-" "compatible regular expression. The replacement text can contain " @@ -6607,48 +6741,48 @@ msgid "" "function." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:432 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:524 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:623 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:635 msgid "Search/replace invalid" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:525 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:533 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:533 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:541 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:624 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:636 msgid "Search pattern is invalid: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:673 msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" msgstr "Editar os metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:316 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:337 msgid "A&utomatically set author sort" msgstr "Definir a&utomaticamente a ordenação do(s) autor(es)" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:338 msgid "Author s&ort: " msgstr "&Ordenação de autor: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:318 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." @@ -6656,63 +6790,63 @@ msgstr "" "Especificar como é que o(s) autor(es) deste livro deve(m) ser ordenado(s). " "Por exemplo: Charles Dickens deve ser ordenado como Dickens, Charles." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:319 +#: /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 msgid "&Rating:" msgstr "A&valiação:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:320 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:321 +#: /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 msgid "Rating of this book. 0-5 stars" msgstr "Avaliação deste livro. 0-5 estrelas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:322 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:343 msgid "No change" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:323 +#: /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 msgid " stars" msgstr " estrelas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:325 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:346 msgid "Add ta&gs: " msgstr "Adicionar eti&quetas: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:327 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:328 +#: /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 msgid "Open Tag Editor" msgstr "Abrir o Editor de Etiquetas" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:329 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:350 msgid "&Remove tags:" msgstr "&Remover etiquetas:" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:330 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:351 msgid "Comma separated list of tags to remove from the books. " msgstr "Lista de etiquetas separadas por vírgulas a remover dos livros. " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:331 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:352 msgid "Check this box to remove all tags from the books." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:353 msgid "Remove all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:336 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:357 msgid "If checked, the series will be cleared" 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:358 msgid "Clear series" 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:359 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" @@ -6720,110 +6854,110 @@ 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:342 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:363 msgid "Automatically number books in this series" 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:364 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:347 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:368 msgid "Remove &format:" msgstr "Remover &formatos:" -#: /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:369 msgid "&Swap title and author" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:349 -msgid "Change title to title case" -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:370 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:352 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 +msgid "Change title to title case" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:373 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:355 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:356 +#: /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:357 +#: /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:358 +#: /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:359 +#: /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:360 +#: /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:361 +#: /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:362 +#: /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:363 +#: /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:364 +#: /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:365 +#: /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:366 +#: /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:367 +#: /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" 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:389 msgid "Apply function after replace:" 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:390 msgid "" "Specify how the text is to be processed after matching and replacement. In " "character mode, the entire\n" @@ -6831,49 +6965,49 @@ msgid "" "processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:392 msgid "&Destination field:" 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:393 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:373 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:394 msgid "Mode:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:374 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:395 msgid "Specify how the text should be copied into the destination." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:375 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:396 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:377 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:398 msgid "use comma" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:399 msgid "Test &text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:400 msgid "Test re&sult" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:380 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:401 msgid "Your test:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:381 -msgid "&Search and replace (experimental)" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:402 +msgid "&Search and replace" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:91 @@ -6956,74 +7090,76 @@ msgid "This ISBN number is invalid" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:611 -msgid "Cannot use tag editor" +msgid "Tags changed" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:612 -msgid "The tags editor cannot be used if you have modified the tags" +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:632 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:639 msgid "Downloading cover..." msgstr "A descarregar a capa..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:644 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:649 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:655 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:660 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:651 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:667 msgid "Cannot fetch cover" msgstr "É impossível recolher a capa" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:645 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:656 -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:661 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:652 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:663 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:668 msgid "Could not fetch cover.
" msgstr "É impossível recolher a capa.
" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:646 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:653 msgid "The download timed out." msgstr "O descarregamento está a demorar demasiado tempo." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:650 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:657 msgid "Could not find cover for this book. Try specifying the ISBN first." msgstr "" "É impossível encontrar a capa para este livro. Tente especificar o ISBN " "primeiro." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:662 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:669 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:669 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:676 msgid "Bad cover" msgstr "Capa com erros" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:670 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:677 msgid "The cover is not a valid picture" msgstr "A capa não é uma imagem válida" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:710 msgid "There were errors" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:704 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:711 msgid "There were errors downloading social metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:733 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:742 msgid "Cannot fetch metadata" msgstr "É impossível recolher os metadados" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:734 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:743 msgid "You must specify at least one of ISBN, Title, Authors or Publisher" msgstr "Deve especificar pelo menos um de ISBN, Título, Autores ou Editora" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:820 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:833 msgid "Permission denied" msgstr "Permissão negada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:821 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:834 msgid "Could not open %s. Is it being used by another program?" msgstr "É impossível abrir %s. Está a ser usado por outro programa?" @@ -7143,20 +7279,21 @@ msgstr "É necessário a sua palavra-passe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:117 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "&Username:" msgstr "&Utilizador:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:119 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "&Password:" msgstr "Pala&vra-passe:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:65 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:219 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:167 msgid "&Show password" msgstr "&Mostrar a palavra-passe" @@ -7197,50 +7334,62 @@ msgstr "" msgid "Change the contents of the saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:126 msgid "Need username and password" msgstr "É necessário utilizador e palavra-passe" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:127 msgid "You must provide a username and/or password to use this news source." msgstr "" "Deve fornecer um utilizador e/ou uma palavra-passe para usar esta fonte de " "notícias." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:176 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:166 +msgid "Account" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:167 +msgid "(optional)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:168 +msgid "(required)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:185 msgid "Created by: " msgstr "Criado por: " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:183 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:192 msgid "Last downloaded: never" msgstr "Último descarregamento: nunca" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:198 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:207 msgid "%d days, %d hours and %d minutes ago" msgstr "à %d dias, %d horas e %d minutos" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:209 msgid "Last downloaded" msgstr "Último descarregamento" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:233 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:197 msgid "Schedule news download" msgstr "Programar o descarregamento de notícias" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:227 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:236 msgid "Add a custom news source" msgstr "Adicionar uma fonte de notícias personalizada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:232 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:241 msgid "Download all scheduled new sources" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:332 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:341 msgid "No internet connection" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:333 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:342 msgid "Cannot download news as no internet connection is active" msgstr "" @@ -7360,15 +7509,15 @@ msgstr "" msgid "Delete downloaded news older than " msgstr "Apagar as notícias mais antigas que " -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:36 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:41 msgid "contains" msgstr "contém" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:42 msgid "The text to search for. It is interpreted as a regular expression." msgstr "O texto a procurar. É interpretado como uma expressão regular." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:38 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:43 msgid "" "

Negate this match. That is, only return results that do not match " "this query." @@ -7376,76 +7525,113 @@ msgstr "" "

Negar esta correspondência. Isto é, só mostrar os resultados que " "não corresponderem a esta pesquisa." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:39 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_item_ui.py:44 msgid "Negate" msgstr "Negar" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:198 msgid "Advanced Search" msgstr "Procura Avançada" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:119 -msgid "Find entries that have..." -msgstr "Encontrar as entradas que têm..." - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:120 -msgid "&All these words:" -msgstr "&Todas estas palavras:" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:121 -msgid "This exact &phrase:" -msgstr "Esta &frase exacta:" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:122 -msgid "&One or more of these words:" -msgstr "&Uma ou mais destas palavras:" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:123 -msgid "But dont show entries that have..." -msgstr "Mas não mostrar as entradas que têm..." - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:124 -msgid "Any of these &unwanted words:" -msgstr "Alguma destas palavras &indesejadas:" - -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199 msgid "What kind of match to use:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:126 -msgid "Contains: the word or phrase matches anywhere in the metadata" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 +msgid "Contains: the word or phrase matches anywhere in the metadata field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:127 -msgid "Equals: the word or phrase must match an entire metadata field" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 +msgid "Equals: the word or phrase must match the entire metadata field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 msgid "" -"Regular expression: the expression must match anywhere in the metadata" +"Regular expression: the expression must match anywhere in the metadata field" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:129 -msgid " " -msgstr " " +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 +msgid "Find entries that have..." +msgstr "Encontrar as entradas que têm..." -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:204 +msgid "&All these words:" +msgstr "&Todas estas palavras:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:205 +msgid "This exact &phrase:" +msgstr "Esta &frase exacta:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:206 +msgid "&One or more of these words:" +msgstr "&Uma ou mais destas palavras:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:207 +msgid "But dont show entries that have..." +msgstr "Mas não mostrar as entradas que têm..." + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:208 +msgid "Any of these &unwanted words:" +msgstr "Alguma destas palavras &indesejadas:" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:209 msgid "" "See the User Manual for more help" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:210 +msgid "A&dvanced Search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:212 +msgid "Enter the title." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:213 +msgid "&Author:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:215 +msgid "Ta&gs:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:216 +msgid "Enter an author's name. Only one author can be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:217 +msgid "" +"Enter a series name, without an index. Only one series name can be used." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:218 +msgid "Enter tags separated by spaces" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:219 +msgid "&Clear" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:220 +msgid "Search only in specific fields:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 +msgid "Titl&e/Author/Series ..." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:83 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:97 msgid "Authors" msgstr "Autor(es)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:50 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:114 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:128 msgid "Publishers" msgstr "Editoras" @@ -7569,12 +7755,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:605 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:580 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:606 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:581 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -8092,7 +8278,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:841 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:823 msgid "Card A" msgstr "" @@ -8101,7 +8287,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:843 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:825 msgid "Card B" msgstr "" @@ -8113,20 +8299,20 @@ msgstr "" msgid "available" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:158 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:159 msgid "" "Books display will be restricted to those matching the selected saved search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:170 +msgid "Shift+Ctrl+F" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:173 msgid "Advanced search" msgstr "Procura Avançada" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:173 -msgid "&Search:" -msgstr "&Procura:" - -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:180 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:178 msgid "" "

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

Words separated by spaces are ANDed" @@ -8135,19 +8321,27 @@ msgstr "" "comentários, etc.

Nas palavras separadas por espaços os espaços são " "substituidos por AND" +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:181 +msgid "&Go!" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/layout.py:187 +msgid "Do Quick Search (you can also press the Enter key)" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:193 msgid "Reset Quick Search" msgstr "Reiniciar a Procura Rápida" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:199 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 msgid "Copy current search text (instead of search name)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:205 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:211 msgid "Save current search under the name shown in the box" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/layout.py:217 msgid "Delete current saved search" msgstr "" @@ -8160,88 +8354,91 @@ msgid "Y" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:66 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:226 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:240 msgid "On Device" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:68 -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:271 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:285 msgid "Size (MB)" msgstr "Tamanho (MB)" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:338 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1137 -msgid "Book %s of %s." -msgstr "Livro %s de %s." +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:331 +msgid "Book %s of %s." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:698 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1237 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:505 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:693 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1236 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407 msgid "The lookup/search name is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:704 -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1239 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1238 msgid "This book's UUID is \"{0}\"" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:923 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:922 msgid "In Library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:927 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:926 msgid "Size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1217 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1136 +msgid "Book %s of %s." +msgstr "Livro %s de %s." + +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1216 msgid "Marked for deletion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1220 +#: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1219 msgid "Double click to edit me

" msgstr "Duplo clique para me editar

" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:147 msgid "Hide column %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:152 msgid "Sort on %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:153 msgid "Ascending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:156 msgid "Descending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:168 msgid "Change text alignment for %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170 msgid "Left" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:170 msgid "Right" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:171 msgid "Center" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:190 msgid "Show column" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:173 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:202 msgid "Restore default layout" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:701 +#: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:743 msgid "" "Dropping onto a device is not supported. First add the book to the calibre " "library." @@ -8276,52 +8473,52 @@ msgstr "" "%s ." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:441 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 msgid "No matches found" msgstr "Não foram encontradas correspondências" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:128 msgid "LRF Viewer" msgstr "Visualizador de ficheiros LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:129 msgid "Parsing LRF file" msgstr "A analisar o ficheiro LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:130 msgid "LRF Viewer toolbar" msgstr "Barra de ferramentas do Visualizador de ficheiros LRF" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:477 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Next Page" msgstr "Página Seguinte" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 msgid "Previous Page" msgstr "Página Anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:133 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:193 msgid "Back" msgstr "Para trás" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:134 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:194 msgid "Forward" msgstr "Para a frente" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:135 msgid "Next match" msgstr "Correspondência seguinte" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:136 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:201 msgid "Open ebook" msgstr "Abrir um livro" -#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:137 msgid "Configure" msgstr "Configurar" @@ -8342,7 +8539,7 @@ msgid "Do not check for updates" msgstr "Não verificar por actualizações" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:636 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 msgid "Calibre Library" msgstr "Biblioteca do calibre" @@ -8472,36 +8669,37 @@ msgstr "O livro não tem nem título nem ISBN" msgid "No matches found for this book" msgstr "Nenhuma correspondência encontrada para este livro" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:191 msgid "Failed to download metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 msgid "cover" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 msgid "Failed to get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:225 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:284 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 msgid "Done" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:287 +#: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 msgid "Details" msgstr "" @@ -9361,7 +9559,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:75 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:320 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:329 msgid "Failed to start content server" msgstr "Falha em iniciar o servidor de conteúdos" @@ -9452,7 +9650,7 @@ msgid "View &server logs" msgstr "Ver o registo do &servidor" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:46 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:51 msgid "" "

Remember to leave calibre running as the server only runs as long as " "calibre is running.\n" @@ -9568,25 +9766,26 @@ msgstr "" msgid "&Current tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:95 -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:261 -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:573 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:574 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:272 msgid "Search" msgstr "Procurar" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:313 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:322 msgid "The selected search will be permanently deleted. Are you sure?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:355 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:364 msgid "Search (For Advanced Search click the button to the left)" msgstr "Procura (Para a Procura Avançada clique no botão da esquerda)" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:397 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:406 msgid "Saved Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:405 +#: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:414 msgid "Choose saved search or enter name for new saved search" msgstr "" @@ -9667,97 +9866,97 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:200 +msgid "Rename '%s'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:204 +msgid "Edit sort for '%s'" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 +msgid "Hide category %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:212 +msgid "Show category" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 +msgid "Show all categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 +msgid "Manage %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:230 +msgid "Manage Saved Searches" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:237 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:241 +msgid "Manage User Categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451 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:168 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:456 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:295 -msgid "Rename '%s'" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:299 -msgid "Edit sort for '%s'" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:304 -msgid "Hide category %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:307 -msgid "Show category" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:311 -msgid "Show all categories" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:318 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:322 -msgid "Manage %s" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:325 -msgid "Manage Saved Searches" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:332 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:336 -msgid "Manage User Categories" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:537 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:620 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:595 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:621 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:596 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:888 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:871 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:888 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:871 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:889 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:872 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:875 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:881 msgid "Match all" msgstr "Corresponder todos" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:898 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:881 msgid "Match any" msgstr "Corresponder algum" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:903 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:886 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:907 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:890 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:910 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:893 msgid "Add your own categories to the Tag Browser" msgstr "" @@ -9804,15 +10003,15 @@ msgstr "" "Os seguintes livros já foram convertidos para o formato %s. Deseja voltar a " "convertê-los?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 msgid "&Restore" msgstr "&Restaurar" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Donate to support calibre" msgstr "&Faça um donativo para ajudar o calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:174 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:175 msgid "&Eject connected device" msgstr "" @@ -9820,12 +10019,12 @@ msgstr "" msgid "Calibre Quick Start Guide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:435 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 msgid "Conversion Error" msgstr "Erro de conversão" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:436 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -9834,26 +10033,26 @@ msgstr "" "(Digital Rights Management). Primeiro deve remover o DRM usando " "ferramentas de terceiros." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:464 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 msgid "Failed" msgstr "Falha" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:500 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 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:526 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Existem processos activos. Tem a certeza que quer sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:529 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -9863,11 +10062,11 @@ msgstr "" " Sair pode causar corrupção no aparelho.
\n" " Tem a certeza que quer sair?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 msgid "WARNING: Active jobs" msgstr "AVISO: Processos activos" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -9917,31 +10116,31 @@ msgstr "Importar Marcadores" msgid "Pickled Bookmarks (*.pickle)" msgstr "Marcadores Guardados (*.pickle)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 msgid "Bookmark Manager" msgstr "Gestor de Marcadores" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:57 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 msgid "Actions" msgstr "Acções" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:58 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:63 msgid "Edit" msgstr "Editar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:59 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:64 msgid "Delete" msgstr "Apagar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:60 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:65 msgid "Reset" msgstr "Restaurar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:66 msgid "Export" msgstr "Exportar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/bookmarkmanager_ui.py:67 msgid "Import" msgstr "Importar" @@ -10049,7 +10248,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opções para personalizar o Visualizador de livros" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:699 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "Remember last used window size" msgstr "Lembrar o tamanho da última janela utilizada" @@ -10106,36 +10305,36 @@ msgstr "O tamanho do tipo de letra monospace padrão em px" msgid "The standard font type" msgstr "O tipo de letra padrão" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:453 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:456 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ir para..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:468 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:472 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:475 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 msgid "Section End" msgstr "" @@ -10213,74 +10412,79 @@ msgstr "Pré-visualizar" msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:408 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 msgid "Choose ebook" msgstr "Escolher o livro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:409 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 msgid "Ebooks" msgstr "Livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:442 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 msgid "No matches found for: %s" msgstr "Nenhuma correspondência encontrada para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 msgid "Loading flow..." msgstr "A carregar o fluxo..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 msgid "Laying out %s" msgstr "A representar %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:546 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 msgid "Bookmark #%d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:550 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 msgid "Add bookmark" msgstr "Adicionar marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:551 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 msgid "Enter title for bookmark:" msgstr "Introduzir o título para o marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:561 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 msgid "Manage Bookmarks" msgstr "Gerir Marcadores" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:598 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 msgid "Loading ebook..." msgstr "A carregar o livro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:606 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 msgid "DRM Error" msgstr "Erro de DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 msgid "

This book is protected by DRM" msgstr "

Este livro está protegido por DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:611 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 msgid "Could not open ebook" msgstr "É impossível abrir o livro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:689 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 msgid "Options to control the ebook viewer" msgstr "Opções para controlar o Visualizador de livros" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:696 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se especificado a janela do Visualizador vai tentar vir para a frente quando " "iniciada." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:701 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +msgid "" +"If specified, viewer window will try to open full screen when started." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 msgid "Print javascript alert and console messages to the console" msgstr "Imprimir alertas javascript e mensagens da consola na consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:707 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 msgid "" "%prog [options] file\n" "\n" @@ -10330,6 +10534,10 @@ msgstr "" msgid "F3" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:205 +msgid "Copy to clipboard" +msgstr "Copiar para a Área de Transferência" + #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:207 msgid "Reference Mode" msgstr "Modo de Referência" @@ -10370,31 +10578,31 @@ msgstr "" msgid "Paste Image" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:383 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:384 msgid "Change Case" msgstr "Alterar a Capitalização" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:386 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:387 msgid "Swap Case" msgstr "Alterar a Capitalização" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:857 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:858 msgid "Drag to resize" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:892 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:893 msgid "Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:899 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:900 msgid "Hide" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:936 +#: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:937 msgid "Toggle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:378 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10404,7 +10612,7 @@ msgstr "" "colecção de livros do calibre directamente no aparelho. Para fazer isto tem " "de ligar o servidor de conteúdos do calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:382 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -10412,7 +10620,7 @@ msgstr "" "Lembre-se de deixar o calibre a executar porque o servidor só trabalha " "enquanto o calibre estiver a executar." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:384 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10422,20 +10630,20 @@ msgstr "" "no WordPlayer. Aqui myhostname deve ser o domínio ou o endereço IP do " "computador onde o calibre está a executar." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 msgid "Moving library..." msgstr "A mover a biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:477 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 msgid "Failed to move library" msgstr "Falha ao mover a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:532 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 msgid "Invalid database" msgstr "Base de dados inválida" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:533 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -10443,37 +10651,37 @@ msgstr "" "

Já existe uma biblioteca inválida em %s, apague-a antes de tentar mover a " "biblioteca existente.
Erro: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 msgid "Could not move library" msgstr "É impossível mover a biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:615 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 msgid "Select location for books" msgstr "Seleccione a localização dos livros" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:629 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:703 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 msgid "welcome wizard" msgstr "assistente de boas vindas" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:53 #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:54 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:50 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:47 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:47 msgid "Welcome to calibre" msgstr "Bem vindo ao calibre" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/device_ui.py:55 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:43 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:51 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:43 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:56 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:48 msgid "The one stop solution to all your e-book needs." msgstr "" "A solução centralizada para todas as suas necessidades no que diz respeito a " @@ -10495,7 +10703,7 @@ msgstr "&Fabricantes" msgid "&Devices" msgstr "&Aparelhos" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:49 msgid "" "

Congratulations!

You have successfully setup calibre. Press the %s " "button to apply your settings." @@ -10503,19 +10711,19 @@ msgstr "" "

Parabéns!

Configurou o calibre com sucesso. Carregue no botão %s " "para aplicar as suas definições." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 msgid "" "

Demo videos

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

User Manual

A User Manual is also available online." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:49 msgid "" "

calibre can automatically send books by email to your Kindle. To do that " "you have to setup email delivery below. The easiest way is to setup a free " @@ -10529,15 +10737,15 @@ msgstr "" "grátis e clicar no botão Usar o gmail abaixo. Também tem de registar o seu " "endereço do gmail na sua conta da Amazon." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/kindle_ui.py:50 msgid "&Kindle email:" msgstr "email do &Kindle:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:52 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:57 msgid "Choose your &language:" msgstr "Defina a sua &linguagem" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" "Choose a location for your books. When you add books to calibre, they will " "be copied here:" @@ -10545,11 +10753,11 @@ msgstr "" "Escolha a localização dos seus livros. Quando adicionar livros ao calibre " "eles serão copiados para aqui:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:54 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" msgstr "&Alterar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:60 msgid "" "If you have an existing calibre library, it will be copied to the new " "location. If a calibre library already exists at the new location, calibre " @@ -10559,49 +10767,72 @@ msgstr "" "localização. Se uma biblioteca do calibre já existir na nova localização " "então o calibre usará essa." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:32 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" msgstr "A usar: %s:%s@%s:%s e encriptação %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:37 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:39 msgid "Sending..." msgstr "A enviar..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:44 msgid "Mail successfully sent" msgstr "Email enviado com sucesso" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:124 -msgid "Finish gmail setup" -msgstr "Terminar a configuração do gmail" - -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:136 msgid "" -"Dont forget to enter your gmail username and password. You can sign up for a " -"free gmail account at http://gmail.com" +"If you are setting up a new hotmail account, you must log in to it once " +"before you will be able to send mails." msgstr "" -"Não se esqueça de introduzir o seu utilizador e palavra-passe do gmail. Pode " -"registar-se para uma conta gmail grátis em http://gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:133 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:147 +msgid "" +"You can sign up for a free {name} email account at http://{url}. {extra}" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:154 +msgid "Your %s &email address:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:155 +msgid "Your %s &username:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:156 +msgid "Your %s &password:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:174 +msgid "" +"If you plan to use email to send books to your Kindle, remember to add the " +"your %s email address to the allowed email addresses in your Amazon.com " +"Kindle management page." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:181 +msgid "Setup" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:196 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:203 msgid "Bad configuration" msgstr "Má configuração" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:197 msgid "You must set the From email address" msgstr "Deve definir o endereço do remetente" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:204 msgid "You must set the username and password for the mail server." msgstr "" "Deve definir o utilizador e a palavra-passe para o servidor de email." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:108 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 msgid "Send email &from:" msgstr "Enviar email &de:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:109 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 msgid "" "

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

Isto é o que será apresentado no campo De: nos emails enviados pelo " "calibre.
Defina-o com o seu endereço de email." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:110 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "" "

A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." @@ -10617,78 +10848,82 @@ msgstr "" "

Um servidor de email é útil se o aparelho para onde está a enviar o email " "só aceita email de serviços de email conhecidos." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:111 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" msgstr "&Servidor de email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:112 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "calibre can optionally use a server to send mail" msgstr "" "o calibre pode opcionalmente usar um servidor para enviar email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:113 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "&Hostname:" msgstr "&Domínio:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:114 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "O domínio do seu servidor de email. Por exemplo smtp.gmail.com" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:115 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "&Port:" msgstr "&Porta:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:116 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "" "The port your mail server listens for connections on. The default is 25" msgstr "" "A porta que o seu servidor de email utiliza para as ligações. A predefinição " "é 25." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:118 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "Your username on the mail server" msgstr "O seu utilizador no servidor de email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "Your password on the mail server" msgstr "A sua palavra-passe no servidor de email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "&Show" msgstr "&Mostrar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Encryption:" msgstr "&Encriptação:" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "" "Use TLS encryption when connecting to the mail server. This is the most " "common." msgstr "" "Usar encriptação TLS quando ligar ao servidor de email. Isto é o mais comum." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&TLS" msgstr "&TLS" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "Use SSL encryption when connecting to the mail server." msgstr "Usar encriptação SSL quando ligar ao servidor de email." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "&SSL" msgstr "&SSL" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "Use Gmail" msgstr "Usar o Gmail" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +msgid "Use Hotmail" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&Test email" msgstr "&Testar o email" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:44 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:49 msgid "" "

If you use the Stanza e-" "book app on your iPhone/iTouch, you can access your calibre book collection " @@ -10700,7 +10935,7 @@ msgstr "" "pode aceder à sua colecção de livros do calibre directamente no aparelho. " "Para fazer isto tem de ligar o servidor de conteúdos do calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/stanza_ui.py:50 msgid "Turn on the &content server" msgstr "Ligar o servidor de &conteúdos" @@ -10751,7 +10986,7 @@ msgstr "" msgid "empty" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:48 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:50 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10760,7 +10995,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:58 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:60 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10768,7 +11003,7 @@ msgid "" "Applies to: CSV, XML output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:212 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:214 msgid "" "The fields to output when cataloging books in the database. Should be a " "comma-separated list of fields.\n" @@ -10777,7 +11012,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:222 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:224 msgid "" "Output field to sort on.\n" "Available fields: author_sort, id, rating, size, timestamp, title.\n" @@ -10785,7 +11020,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:231 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:233 msgid "" "Create a citation for BibTeX entries.\n" "Boolean value: True, False\n" @@ -10793,7 +11028,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:240 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:242 msgid "" "The template for citation creation from database fields.\n" " Should be a template with {} enclosed fields.\n" @@ -10802,7 +11037,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:250 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:252 msgid "" "BibTeX file encoding output.\n" "Available types: utf8, cp1252, ascii.\n" @@ -10810,7 +11045,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:259 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:261 msgid "" "BibTeX file encoding flag.\n" "Available types: strict, replace, ignore, backslashreplace.\n" @@ -10818,7 +11053,7 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:268 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:270 msgid "" "Entry type for BibTeX catalog.\n" "Available types: book, misc, mixed.\n" @@ -10826,14 +11061,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:536 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:543 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -10842,14 +11077,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:553 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:559 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -10858,35 +11093,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:567 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:574 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:581 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:588 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:595 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -10895,7 +11130,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:602 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -10905,13 +11140,20 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:609 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +msgid "" +"Tag indicating book to be displayed as wishlist item.\n" +"Default: '%default'\n" +"Applies to: ePub, MOBI output formats" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/check_library.py:17 msgid "Invalid titles" msgstr "" @@ -11293,7 +11535,7 @@ msgid "" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/cli.py:665 -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:505 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:499 msgid "Show detailed output information. Useful for debugging" msgstr "Mostrar informação detalhada. Útil para depurar." @@ -11531,53 +11773,53 @@ msgid "" "start with a letter" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:81 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:57 msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:839 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2307 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

A migrar a base de dados antiga para a biblioteca de livros em " "%s

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2336 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 msgid "Copying %s" msgstr "A copiar %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2353 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 msgid "Compacting database" msgstr "A compactar a base de dados" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2446 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 msgid "Checking SQL integrity..." msgstr "A verificar a integridade do SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2485 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 msgid "Checking for missing files." msgstr "A verificar ficheiros desaparecidos." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2507 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 msgid "Checked id" msgstr "ID verificado" -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:125 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:139 msgid "Ratings" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:262 +#: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:276 msgid "Title Sort" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/restore.py:117 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:125 msgid "Processed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/restore.py:182 +#: /home/kovid/work/calibre/src/calibre/library/restore.py:191 msgid "creating custom column " msgstr "" @@ -11716,7 +11958,7 @@ msgstr "Converter os caminhos para minúsculas." msgid "Replace whitespace with underscores." msgstr "Substituir espaços por underscores" -#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:331 +#: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:335 msgid "Requested formats not available" msgstr "Os formatos pedidos não estão disponíveis" @@ -11767,34 +12009,171 @@ msgid "" "disable grouping." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/base.py:94 -msgid "Password to access your calibre library. Username is " -msgstr "Palavra-passe para aceder à sua biblioteca calibre. Utilizador é " +#: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:48 +msgid "" +"Prefix to prepend to all URLs. Useful for reverseproxying to this server " +"from Apache/nginx/etc." +msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:28 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 +msgid "Loading, please wait" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:85 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:106 +msgid "Go to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 +msgid "First" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 +msgid "Last" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:101 +msgid "Previous" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:102 +msgid "Next" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:104 +msgid "Browsing %d books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:121 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:247 +msgid "Average rating" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:122 +msgid "%s: %.1f stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:155 +msgid "%d stars" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:248 +msgid "Popularity" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:267 +msgid "Sort by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:270 +msgid "library" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:271 +msgid "home" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 +#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 +msgid "Newest" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 +msgid "All books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:366 +msgid "Browse books by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:371 +msgid "Choose a category to browse by:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 +msgid "Browsing by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 +msgid "Up" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 +msgid "in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 +msgid "Books in" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 +msgid "Other formats" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 +msgid "Read %s in the %s format" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 +msgid "Get" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +msgid "Permalink" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +msgid "A permanent link to this book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 +msgid "This book has been deleted" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 +msgid "in search" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 +msgid "Matching books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:39 msgid "" "[options]\n" "\n" -"Start the calibre content server." -msgstr "" -"[options]\n" +"Start the calibre content server. The calibre content server\n" +"exposes your calibre library over the internet. The default interface\n" +"allows you to browse you calibre library by categories. You can also\n" +"access an interface optimized for mobile browsers at /mobile and an\n" +"OPDS based interface for use with reading applications at /opds.\n" "\n" -"Iniciar o servidor de conteúdos do calibre." +"The OPDS interface is advertised via BonJour automatically.\n" +msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:30 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 msgid "Path to the library folder to serve with the content server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:32 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 msgid "Write process PID to the specified file" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/main.py:36 +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:58 msgid "" "Specifies a restriction to be used for this invocation. This option " "overrides any per-library settings specified in the GUI" msgstr "" +#: /home/kovid/work/calibre/src/calibre/library/server/main.py:62 +msgid "" +"Auto reload server when source code changes. May not work in all " +"environments." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:112 msgid "%d book" msgstr "" @@ -11827,10 +12206,6 @@ msgstr "" msgid "Books sorted by " msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/opds.py:588 -msgid "Newest" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/utils/config.py:32 msgid "%sUsage%s: %s\n" msgstr "%sUtilização%s: %s\n" @@ -11911,6 +12286,14 @@ msgstr "" msgid "How and when calibre updates metadata on the device." msgstr "" +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:33 +msgid "lookup requires either 2 or an odd number of arguments" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/utils/formatter.py:56 +msgid "switch requires an odd number of arguments" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:43 msgid "Waiting..." msgstr "À espera..." @@ -12073,7 +12456,7 @@ msgstr "Falha ao negociar a sessão SSH: " msgid "Failed to authenticate with server: %s" msgstr "Falha na autenticação com o servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:230 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 msgid "Control email delivery" msgstr "Controlar a entrega do email" @@ -12123,93 +12506,93 @@ msgstr "" msgid "Unknown News Source" msgstr "Fonte de Notícias desconhecida" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:612 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:628 msgid "The \"%s\" recipe needs a username and password." msgstr "A receita \"%s\" necessita de um utilizador e palavra-passe." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:711 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:727 msgid "Download finished" msgstr "Descarregamento terminado" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:713 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:729 msgid "Failed to download the following articles:" msgstr "Falha no descarregamento dos seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:719 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:735 msgid "Failed to download parts of the following articles:" msgstr "Falha no descarregamento de partes dos seguintes artigos:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:721 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:737 msgid " from " msgstr " de " -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:723 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:739 msgid "\tFailed links:" msgstr "\tAtalhos falhados:" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:812 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:834 msgid "Could not fetch article. Run with -vv to see the reason" msgstr "É impossível recolher o artigo. Execute com -vv para ver a razão." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:833 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:855 msgid "Fetching feeds..." msgstr "A recolher as fontes..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:838 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:860 msgid "Got feeds from index page" msgstr "Tirar as fontes da página de índice" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:844 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:869 msgid "Trying to download cover..." msgstr "A tentar descarregar a capa..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:846 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:871 msgid "Generating masthead..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:927 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:952 msgid "Starting download [%d thread(s)]..." msgstr "A iniciar o descarregamento [%d thread(s)]..." -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:943 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:968 msgid "Feeds downloaded to %s" msgstr "Fontes descarregadas para %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:952 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:977 msgid "Could not download cover: %s" msgstr "É impossível descarregar a capa: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:959 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:986 msgid "Downloading cover from %s" msgstr "A descarregar a capa de %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1004 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1032 msgid "Masthead image downloaded" msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1172 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1200 msgid "Untitled Article" msgstr "Artigo Sem Título" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1243 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 msgid "Article downloaded: %s" msgstr "Artigo descarregado: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1254 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1282 msgid "Article download failed: %s" msgstr "Falha no descarregamento do artigo: %s" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1271 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1299 msgid "Fetching feed" msgstr "A recolher a fonte" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1418 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1446 msgid "" "Failed to log in, check your username and password for the calibre " "Periodicals service." msgstr "" -#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1433 +#: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:1461 msgid "" "You do not have permission to download this issue. Either your subscription " "has expired or you have exceeded the maximum allowed downloads for today." @@ -12230,7 +12613,7 @@ msgstr "Programado" msgid "Custom" msgstr "Personalizar" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:482 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:476 msgid "" "%prog URL\n" "\n" @@ -12240,11 +12623,11 @@ msgstr "" "\n" "Onde o URL é por exemplo http://google.com" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:485 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:479 msgid "Base directory into which URL is saved. Default is %default" msgstr "Pasta padrão onde o URL é guardado. A predefinição é %default" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:488 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:482 msgid "" "Timeout in seconds to wait for a response from the server. Default: %default " "s" @@ -12252,7 +12635,7 @@ msgstr "" "O tempo de espera em segundos para esperar uma resposta do servidor. A " "predefinição é: %default s" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:491 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:485 msgid "" "Maximum number of levels to recurse i.e. depth of links to follow. Default " "%default" @@ -12260,7 +12643,7 @@ msgstr "" "O número máximo de níveis a seguir recursivamente, i.e. a profundidade de " "atalhos a seguir. A predefinição é %default" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:488 msgid "" "The maximum number of files to download. This only applies to files from tags. Default is %default" @@ -12268,7 +12651,7 @@ msgstr "" "O número máximo de ficheiros para descarregar. Isto só se aplica a ficheiros " "com etiquetas . A predefinição é %default" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:490 msgid "" "Minimum interval in seconds between consecutive fetches. Default is %default " "s" @@ -12276,7 +12659,7 @@ msgstr "" "Intervalo mínimo em segundos entre recolhas consecutivas. A predefinição é " "%default s" -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:492 msgid "" "The character encoding for the websites you are trying to download. The " "default is to try and guess the encoding." @@ -12284,7 +12667,7 @@ msgstr "" "A codificação de caracteres para os sítios que está a tentar descarregar. A " "predefinição é tentar descobrir a codificação." -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:500 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:494 msgid "" "Only links that match this regular expression will be followed. This option " "can be specified multiple times, in which case as long as a link matches any " @@ -12295,7 +12678,7 @@ msgstr "" "um atalho corresponder a alguma expressão regular, ele será seguido. A " "predefinição é seguir todas os atalhos." -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:502 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:496 msgid "" "Any link that matches this regular expression will be ignored. This option " "can be specified multiple times, in which case as long as any regexp matches " @@ -12309,7 +12692,7 @@ msgstr "" "predefinição é não ignorar nenhum atalho. Se ambos --filter-regexp e --match-" "regexp forem especificados, então --filter-regexp é aplicado primeiro." -#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:504 +#: /home/kovid/work/calibre/src/calibre/web/fetch/simple.py:498 msgid "Do not download CSS stylesheets." msgstr "Não descarregar folhas de estilos CSS." @@ -12984,6 +13367,12 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "Update available" #~ msgstr "Actualização disponível" +#~ msgid "" +#~ "No metadata found, try adjusting the title and author or the ISBN key." +#~ msgstr "" +#~ "Não foram encontrados metadados, experimente ajustar o título e o autor ou a " +#~ "chave ISBN." + #~ msgid "Change the publisher of this book" #~ msgstr "Alterar a editora deste livro" @@ -13087,6 +13476,9 @@ msgstr "Não descarregar folhas de estilos CSS." #~ "Se desactivar esta definição os metadados são adivinhados a partir do nome " #~ "do ficheiro. Isto pode ser configurado na secção Avançadas" +#~ msgid "&Search:" +#~ msgstr "&Procura:" + #~ msgid "Browse for the new database location" #~ msgstr "Navegar para a nova localização da base de dados" @@ -14322,6 +14714,18 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "Configure calibre" #~ msgstr "Configurar o calibre" +#~ msgid "" +#~ "[options]\n" +#~ "\n" +#~ "Start the calibre content server." +#~ msgstr "" +#~ "[options]\n" +#~ "\n" +#~ "Iniciar o servidor de conteúdos do calibre." + +#~ msgid "Password to access your calibre library. Username is " +#~ msgstr "Palavra-passe para aceder à sua biblioteca calibre. Utilizador é " + #~ msgid "Options to control e-book conversion." #~ msgstr "Opções para controlar a conversão de livros." @@ -14392,6 +14796,13 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "Starting conversion of %d books" #~ msgstr "A começar a conversão de %d livro(s)" +#~ msgid "" +#~ "Dont forget to enter your gmail username and password. You can sign up for a " +#~ "free gmail account at http://gmail.com" +#~ msgstr "" +#~ "Não se esqueça de introduzir o seu utilizador e palavra-passe do gmail. Pode " +#~ "registar-se para uma conta gmail grátis em http://gmail.com" + #~ msgid "" #~ "This RTF file has a feature calibre does not support. Convert it to HTML " #~ "first and then try it." @@ -14502,6 +14913,9 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "Vietnamese" #~ msgstr "Vietnamita" +#~ msgid "Finish gmail setup" +#~ msgstr "Terminar a configuração do gmail" + #~ msgid "Add/Save" #~ msgstr "Adicionar/Guardar" @@ -14548,6 +14962,13 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "Communicate with the Sony PRS-300/505 eBook reader." #~ msgstr "Comunica com o leitor Sony PRS-300/505." +#~ msgid "" +#~ "Average line length for line breaking if the HTML is from a previous partial " +#~ "conversion of a PDF file. Default is %default which disables this." +#~ msgstr "" +#~ "Tamanho médio da linha a quebrar se o HTML é de uma conversão parcial " +#~ "anterior de um ficheiro PDF. A predefinição é: %default que desactiva isto." + #~ msgid "Add a tab at the beginning of each paragraph." #~ msgstr "Adiciona uma tabulação no início de cada parágrafo." @@ -14600,6 +15021,12 @@ msgstr "Não descarregar folhas de estilos CSS." #~ msgid "English (IND)" #~ msgstr "English (India)" +#~ msgid " " +#~ msgstr " " + +#~ msgid "EDITORIAL REVIEW" +#~ msgstr "REVISÃO EDITORIAL" + #~ msgid "justify" #~ msgstr "justificar" From 5ac83c9741c82fc7ee781ac09bd48fdaf2f15acd Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:12:54 -0700 Subject: [PATCH 06/80] E-book viewer: More sophisticated algorithm to resize images to fit viewer window. Should preserve aspect ratio in more cases --- resources/viewer/images.js | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/resources/viewer/images.js b/resources/viewer/images.js index ea68009254..c03ea1d85b 100644 --- a/resources/viewer/images.js +++ b/resources/viewer/images.js @@ -7,13 +7,42 @@ function scale_images() { $("img:visible").each(function() { var offset = $(this).offset(); + var avail_width = window.innerWidth - offset.left - 5; + var avail_height = window.innerHeight - 5; + var img = $(this); + img.css('width', img.data('orig-width')); + img.css('height', img.data('orig-height')); + var width = img.width(); + var height = img.height(); + var ratio = 0; + + if (width > avail_width) { + ratio = avail_width / width; + img.css('width', avail_width+'px'); + img.css('height', (ratio*height) + 'px'); + height = height * ratio; + width = width * ratio; + } + + if (height > avail_height) { + ratio = avail_height / height; + img.css('height', avail_height); + img.css('width', width * ratio); + } //window.py_bridge.debug(window.getComputedStyle(this, '').getPropertyValue('max-width')); - $(this).css("max-width", (window.innerWidth-offset.left-5)+"px"); - $(this).css("max-height", (window.innerHeight-5)+"px"); + }); +} + +function store_original_size_attributes() { + $("img").each(function() { + var img = $(this); + img.data('orig-width', img.css('width')); + img.data('orig-height', img.css('height')); }); } function setup_image_scaling_handlers() { + store_original_size_attributes(); scale_images(); $(window).resize(function(){ scale_images(); From 341f6601aa2d9bd7353a7aba3b5c20c7df8c26bf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:15:58 -0700 Subject: [PATCH 07/80] ... --- resources/viewer/images.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/viewer/images.js b/resources/viewer/images.js index c03ea1d85b..78c3241140 100644 --- a/resources/viewer/images.js +++ b/resources/viewer/images.js @@ -6,10 +6,10 @@ function scale_images() { $("img:visible").each(function() { - var offset = $(this).offset(); + var img = $(this); + var offset = img.offset(); var avail_width = window.innerWidth - offset.left - 5; var avail_height = window.innerHeight - 5; - var img = $(this); img.css('width', img.data('orig-width')); img.css('height', img.data('orig-height')); var width = img.width(); From a67f9a4e2b8bb5c1e0f545c5298c3ec4a41bba45 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:28:27 -0700 Subject: [PATCH 08/80] ... --- src/calibre/library/database2.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index d1d11a70ba..ffb97e481f 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -333,9 +333,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): self.dirtied_cache = set([x[0] for x in d]) self.refresh_ondevice = functools.partial(self.data.refresh_ondevice, self) - st = time.time() self.refresh() - print 'refresh time:', time.time() - st self.last_update_check = self.last_modified() From f44bd59b35015b7fc45cca0b18a5db41172801b2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:28:36 -0700 Subject: [PATCH 09/80] Check to see that the result file from a conversion is not empty before adding it, protects against the case where the conversion process crashes and the GUI adds a zero byte file to the book record --- src/calibre/gui2/actions/convert.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/gui2/actions/convert.py b/src/calibre/gui2/actions/convert.py index 3828e9e1bf..821ebcd37f 100644 --- a/src/calibre/gui2/actions/convert.py +++ b/src/calibre/gui2/actions/convert.py @@ -165,6 +165,11 @@ class ConvertAction(InterfaceAction): if job.failed: self.gui.job_exception(job) return + fmtf = temp_files[-1].name + if os.stat(fmtf).st_size < 1: + raise Exception(_('Empty output file, ' + 'probably the conversion process crashed')) + data = open(temp_files[-1].name, 'rb') self.gui.library_view.model().db.add_format(book_id, \ fmt, data, index_is_id=True) From d47ff781cbdb44305b17f2a04d8bff5090a57ca2 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:34:29 -0700 Subject: [PATCH 10/80] Update comics.com --- resources/recipes/comics_com.recipe | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/recipes/comics_com.recipe b/resources/recipes/comics_com.recipe index 9d4e1da4e3..a552470ff3 100644 --- a/resources/recipes/comics_com.recipe +++ b/resources/recipes/comics_com.recipe @@ -347,6 +347,7 @@ class Comics(BasicNewsRecipe): title = strip_tag['title'] print 'title: ', title current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':''}) + current_articles.reverse() return current_articles extra_css = ''' From 3a601727a7e854f6de93bd7bde6b8b3d0af33f63 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 10:36:18 -0700 Subject: [PATCH 11/80] Biz Portal by marbs --- resources/recipes/biz_portal.recipe | 40 +++++++++++++++++++++++++ src/calibre/ebooks/iterator/__init__.py | 9 ++++++ 2 files changed, 49 insertions(+) create mode 100644 resources/recipes/biz_portal.recipe create mode 100644 src/calibre/ebooks/iterator/__init__.py diff --git a/resources/recipes/biz_portal.recipe b/resources/recipes/biz_portal.recipe new file mode 100644 index 0000000000..a810a452bc --- /dev/null +++ b/resources/recipes/biz_portal.recipe @@ -0,0 +1,40 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1283848012(BasicNewsRecipe): + description = 'This is a recipe of BizPortal.co.il.' + cover_url = 'http://www.bizportal.co.il/shukhahon/images/bizportal.jpg' + title = u'BizPortal' + language = 'he' + __author__ = 'marbs' + extra_css='img {max-width:100%;} body{direction: rtl;},title{direction: rtl; } ,article_description{direction: rtl; }, a.article{direction: rtl; } ,calibre_feed_description{direction: rtl; }' + simultaneous_downloads = 5 + remove_javascript = True + timefmt = '[%a, %d %b, %Y]' + remove_empty_feeds = True + oldest_article = 1 + max_articles_per_feed = 100 + remove_attributes = ['width'] + simultaneous_downloads = 5 + # keep_only_tags =dict(name='div', attrs={'id':'articleContainer'}) + remove_tags = [dict(name='img', attrs={'scr':['images/bizlogo_nl.gif']})] + max_articles_per_feed = 100 + #preprocess_regexps = [ + # (re.compile(r'

 

', re.DOTALL|re.IGNORECASE), lambda match: '') +# ] + + + feeds = [(u'חדשות שוק ההון', u'http://www.bizportal.co.il/shukhahon/messRssUTF2.xml'), + (u'חדשות וול סטריט בעברית', u'http://www.bizportal.co.il/shukhahon/images/bizportal.jpg'), + (u'שיווק ופרסום', u'http://www.bizportal.co.il/shukhahon/messRssUTF145.xml'), + (u'משפט', u'http://www.bizportal.co.il/shukhahon/messRssUTF3.xml'), + (u'ניתוח טכני', u'http://www.bizportal.co.il/shukhahon/messRssUTF5.xml'), + (u'דיני עבודה ושכר', u'http://www.bizportal.co.il/shukhahon/messRssUTF6.xml'), + (u'מיסוי', u'http://www.bizportal.co.il/shukhahon/messRssUTF7.xml'), + (u'טאבו', u'http://www.bizportal.co.il/shukhahon/messRssUTF8.xml'), + (u'נדל"ן', u'http://www.bizportal.co.il/shukhahon/messRssUTF160.xml'), + ] + + def print_version(self, url): + split1 = url.split("=") + print_url = 'http://www.bizportal.co.il/web/webnew/shukhahon/biznews02print.shtml?mid=' + split1[1] + return print_url diff --git a/src/calibre/ebooks/iterator/__init__.py b/src/calibre/ebooks/iterator/__init__.py new file mode 100644 index 0000000000..0080175bfa --- /dev/null +++ b/src/calibre/ebooks/iterator/__init__.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + + + From 223ad221d7a4bca8164fa51d1a3573caf96b9e35 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 13:29:25 -0700 Subject: [PATCH 12/80] Fix #7645 (Updated recipe for Argentinian La Nacion) --- resources/recipes/lanacion.recipe | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/resources/recipes/lanacion.recipe b/resources/recipes/lanacion.recipe index 068f6b3555..19f6c1c897 100644 --- a/resources/recipes/lanacion.recipe +++ b/resources/recipes/lanacion.recipe @@ -20,11 +20,14 @@ class Lanacion(BasicNewsRecipe): publication_type = 'newspaper' remove_empty_feeds = True masthead_url = 'http://www.lanacion.com.ar/imgs/layout/logos/ln341x47.gif' - extra_css = """ h1{font-family: Georgia,serif} + extra_css = """ h1{font-family: Georgia,serif} + h2{color: #626262} body{font-family: Arial,sans-serif} - img{margin-top: 0.5em; margin-bottom: 0.2em} + img{margin-top: 0.5em; margin-bottom: 0.2em; display: block} + .notaFecha{color: #808080} .notaEpigrafe{font-size: x-small} - .topNota h1{font-family: Arial,sans-serif} """ + .topNota h1{font-family: Arial,sans-serif} + """ conversion_options = { @@ -38,12 +41,12 @@ class Lanacion(BasicNewsRecipe): remove_tags = [ dict(name='div' , attrs={'class':'notaComentario floatFix noprint' }) ,dict(name='ul' , attrs={'class':['cajaHerramientas cajaTop noprint','herramientas noprint']}) - ,dict(name='div' , attrs={'class':'cajaHerramientas noprint' }) - ,dict(attrs={'class':['titulosMultimedia','derecha','techo color','encuesta','izquierda compartir','floatFix']}) - ,dict(name=['iframe','embed','object','form','base','hr']) + ,dict(name='div' , attrs={'class':['cajaHerramientas noprint','cajaHerramientas floatFix'] }) + ,dict(attrs={'class':['titulosMultimedia','derecha','techo color','encuesta','izquierda compartir','floatFix','videoCentro']}) + ,dict(name=['iframe','embed','object','form','base','hr','meta','link','input']) ] remove_tags_after = dict(attrs={'class':['tags','nota-destacado']}) - remove_attributes = ['height','width','visible'] + remove_attributes = ['height','width','visible','onclick','data-count','name'] feeds = [ (u'Ultimas noticias' , u'http://www.lanacion.com.ar/herramientas/rss/index.asp?origen=2' ) From 965a8ee5ecdd010590082b6dcd95bd53255880f3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 14:38:19 -0700 Subject: [PATCH 13/80] E-book viewer: Fix incorrect lang names being used in hyphenation --- src/calibre/gui2/viewer/documentview.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index f92faf7187..74224ccb44 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -240,8 +240,7 @@ class Document(QWebPage): lang = default_lang p = P('viewer/hyphenate/patterns/%s.js'%lang_name(lang)) self.javascript(open(p, 'rb').read().decode('utf-8')) - self.loaded_lang = lang - + self.loaded_lang = lang_name(lang) @pyqtSignature("") def animated_scroll_done(self): From 629acaa2d0aed7c1283626ba45e8a9c092120de1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 14:59:17 -0700 Subject: [PATCH 14/80] Improve El Pais - Uruguay --- resources/recipes/el_pais_uy.recipe | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/resources/recipes/el_pais_uy.recipe b/resources/recipes/el_pais_uy.recipe index b474b5c232..1e9c400162 100644 --- a/resources/recipes/el_pais_uy.recipe +++ b/resources/recipes/el_pais_uy.recipe @@ -9,23 +9,34 @@ http://www.elpais.com.uy/ from calibre.web.feeds.news import BasicNewsRecipe class General(BasicNewsRecipe): - title = 'Diario El Pais' + title = 'El Pais - Uruguay' __author__ = 'Gustavo Azambuja' - description = 'Noticias | Uruguay' + description = 'Noticias de Uruguay y el resto del mundo' + publisher = 'EL PAIS S.A.' + category = 'news, politics, Uruguay' language = 'es' timefmt = '[%a, %d %b, %Y]' use_embedded_content = False recursion = 2 encoding = 'iso-8859-1' + masthead_url = 'http://www.elpais.com.uy/Images/09/cabezal/logo_PDEP.png' + publication_type = 'newspaper' remove_javascript = True no_stylesheets = True oldest_article = 2 - max_articles_per_feed = 100 + max_articles_per_feed = 200 keep_only_tags = [ dict(name='h1'), dict(name='div', attrs={'id':'Contenido'}) ] + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } remove_tags = [ dict(name='div', attrs={'class':['date_text', 'comments', 'form_section', 'share_it']}), dict(name='div', attrs={'id':['relatedPosts', 'spacer', 'banner_izquierda', 'right_container']}), @@ -38,6 +49,8 @@ class General(BasicNewsRecipe): h3{font-size: 14px;color:#999999; font-family:Geneva, Arial, Helvetica, sans-serif;font-weight: bold;} h2{color:#666666; font-family:Geneva, Arial, Helvetica, sans-serif;font-size:small;} p {font-family:Arial,Helvetica,sans-serif;} + body{font-family: Verdana,Arial,Helvetica,sans-serif } + img{margin-bottom: 0.4em; display:block;} ''' feeds = [ (u'Ultimo Momento', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=umomento'), @@ -47,7 +60,7 @@ class General(BasicNewsRecipe): (u'Espectaculos', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=espectaculos'), (u'Deportes', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=deportes'), (u'Ciudades', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=ciudades'), - (u'Economia', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=economia') + (u'Economia', u'http://www.elpais.com.uy/formatos/rss/index.asp?seccion=economia') ] def get_cover_url(self): From 64c513423a6d319ecbef410f588311b8115dca1c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 17:26:28 -0700 Subject: [PATCH 15/80] OS X: Close ebook viewer on Cmd+W --- src/calibre/gui2/viewer/main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/viewer/main.py b/src/calibre/gui2/viewer/main.py index 81a372a3ca..f9a2432099 100644 --- a/src/calibre/gui2/viewer/main.py +++ b/src/calibre/gui2/viewer/main.py @@ -20,7 +20,7 @@ from calibre.gui2 import Application, ORG_NAME, APP_UID, choose_files, \ info_dialog, error_dialog, open_url from calibre.ebooks.oeb.iterator import EbookIterator from calibre.ebooks import DRMError -from calibre.constants import islinux, isfreebsd +from calibre.constants import islinux, isfreebsd, isosx from calibre.utils.config import Config, StringConfig, dynamic from calibre.gui2.search_box import SearchBox2 from calibre.ebooks.metadata import MetaInformation @@ -209,7 +209,10 @@ class EbookViewer(MainWindow, Ui_EbookViewer): self.toc.setVisible(False) self.action_quit = QAction(self) self.addAction(self.action_quit) - self.action_quit.setShortcut(Qt.CTRL+Qt.Key_Q) + qs = [Qt.CTRL+Qt.Key_Q] + if isosx: + qs += [Qt.CTRL+Qt.Key_W] + self.action_quit.setShortcuts(qs) self.connect(self.action_quit, SIGNAL('triggered(bool)'), lambda x:QApplication.instance().quit()) self.action_copy.setDisabled(True) From 59829d83a00bbe2984d312fbe2637d92adce2ed0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 20:33:48 -0700 Subject: [PATCH 16/80] ... --- src/calibre/manual/faq.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index 687c8480be..f9fe5bd3af 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -247,6 +247,20 @@ Also, :: must return ``CONFIG_SCSI_MULTI_LUN=y``. If you don't see either, you have to recompile your kernel with the correct settings. + +Why does |app| not support collection on the Kindle or shelves on the Nook? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Neither the Kindle nor the Nook provide any way to manipulate collections over a USB connection. +If you really care about using collections, I would urge you to sell your Kindle/Nook and get a SONY. +Only SONY seems to understand that life is too short to be entering collections one by one on an +e-ink screen :) + +Note that in the case of the Kindle, there is a way to manipulate collections via USB, +but it requires that the Kindle be rebooted *every time* it is disconnected from the computer, for the +changes to the collections to be recognized. As such, it is unlikely that +any |app| developers will ever feel motivated enough to support it. + Library Management ------------------ From fb2ca8526ba5b00cae1ad36f1d3929a3539dcdac Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 20:54:01 -0700 Subject: [PATCH 17/80] Fix #7651 (CBC Canada recipe should be in English (Canada) instead of English). Also add a message to welcome wizard advising users to use an empty folder for their calibre library. --- resources/recipes/cbc_canada.recipe | 1 - src/calibre/gui2/wizard/library.ui | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/recipes/cbc_canada.recipe b/resources/recipes/cbc_canada.recipe index 26ea6abd29..ea4f1758a0 100644 --- a/resources/recipes/cbc_canada.recipe +++ b/resources/recipes/cbc_canada.recipe @@ -11,7 +11,6 @@ class AdvancedUserRecipe1275798572(BasicNewsRecipe): remove_javascript = True use_embedded_content = False no_stylesheets = True - language = 'en' masthead_url = 'http://www.cbc.ca/includes/gfx/cbcnews_logo_09.gif' cover_url = 'http://img692.imageshack.us/img692/2814/cbc.png' keep_only_tags = [dict(name='div', attrs={'id':['storyhead','storybody']})] diff --git a/src/calibre/gui2/wizard/library.ui b/src/calibre/gui2/wizard/library.ui index 0d43f4ccee..4c70f8c561 100644 --- a/src/calibre/gui2/wizard/library.ui +++ b/src/calibre/gui2/wizard/library.ui @@ -36,7 +36,7 @@ - Choose a location for your books. When you add books to calibre, they will be copied here: + <p>Choose a location for your books. When you add books to calibre, they will be copied here. Use an <b>empty folder</b> for a new calibre library: true From cc3a3fa54bd30dda59e8c0d3ddd681ff0024a0fc Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 21:04:32 -0700 Subject: [PATCH 18/80] updated translatable strings --- src/calibre/translations/calibre.pot | 649 ++++++++++++++------------- 1 file changed, 342 insertions(+), 307 deletions(-) diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 77d89bf3fe..708825dbe5 100644 --- a/src/calibre/translations/calibre.pot +++ b/src/calibre/translations/calibre.pot @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: calibre 0.7.29\n" -"POT-Creation-Date: 2010-11-19 12:57+MST\n" -"PO-Revision-Date: 2010-11-19 12:57+MST\n" +"POT-Creation-Date: 2010-11-24 21:02+MST\n" +"PO-Revision-Date: 2010-11-24 21:02+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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -72,9 +72,9 @@ msgstr "" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -87,7 +87,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -107,8 +107,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -119,15 +119,15 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -136,13 +136,13 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -183,9 +183,9 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/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:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 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:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 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:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 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:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "" @@ -538,7 +538,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "" @@ -680,16 +684,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "" @@ -787,8 +791,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -873,26 +877,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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 "" @@ -1742,7 +1746,7 @@ msgid "Path to output file" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "" @@ -2059,6 +2063,7 @@ msgid "No cover found" msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "" @@ -2122,31 +2127,31 @@ msgstr "" msgid "Download %s from %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "To use isbndb.com you must sign up for a %sfree account%s and enter your access key below." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2159,23 +2164,24 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr "" @@ -2187,6 +2193,22 @@ msgid "" "Fetch a cover image/social metadata for the book identified by ISBN from LibraryThing.com\n" msgstr "" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -2335,13 +2357,13 @@ msgstr "" msgid "Sidebar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line represents a paragraph instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "Normally calibre treats blank lines as paragraph markers. With this option it will assume that every line starting with an indent (either a tab or 2+ spaces) represents a paragraph. Paragraphs end when the next line that starts with an indent is reached." @@ -2746,7 +2768,7 @@ msgid "Disable UI animations" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "" @@ -2907,7 +2929,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:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "" @@ -3002,7 +3024,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:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3017,7 +3039,7 @@ msgid "Some inconsistencies found" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 -msgid "The following books had formats listed in the database that are not actually available. The entries for the formats have been removed. You should check them manually. This can happen if you manipulate the files in the library folder directly." +msgid "The following books had formats or covers listed in the database that are not actually available. The entries for the formats/covers have been removed. You should check them manually. This can happen if you manipulate the files in the library folder directly." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 @@ -3180,6 +3202,10 @@ msgstr "" msgid "Starting conversion of %d book(s)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "" @@ -3214,7 +3240,7 @@ 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:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -3277,14 +3303,14 @@ msgid "Main memory" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "" @@ -3496,6 +3522,7 @@ msgid "Ctrl+P" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "" @@ -3712,7 +3739,7 @@ msgid "The specified directory could not be processed." msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "" @@ -5161,220 +5188,167 @@ msgstr "" msgid "tags to remove" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 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:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "Could not email the following books as no suitable formats were found:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "

Cannot upload books to device there is no more free space available " msgstr "" @@ -5548,7 +5522,7 @@ msgid "No location selected" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "" @@ -6888,7 +6862,7 @@ msgid "Discard changes" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "" @@ -7064,6 +7038,67 @@ msgstr "" msgid "Recipe source code (python)" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "Could not email the following books as no suitable formats were found:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "\n" @@ -7226,23 +7261,23 @@ msgstr "" msgid "Job has already run" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:251 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:262 msgid "Unavailable" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:283 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:294 msgid "Jobs:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:285 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:296 msgid "Shift+Alt+J" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:313 msgid "Click to see list of jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:371 +#: /home/kovid/work/calibre/src/calibre/gui2/jobs.py:382 msgid " - Jobs" msgstr "" @@ -7268,7 +7303,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:823 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:820 msgid "Card A" msgstr "" @@ -7277,7 +7312,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:825 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:822 msgid "Card B" msgstr "" @@ -7451,7 +7486,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:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "" @@ -7468,12 +7503,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:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 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:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "" @@ -7517,7 +7552,7 @@ msgid "Do not check for updates" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "" @@ -8160,35 +8195,35 @@ msgstr "" msgid "&Split the toolbar into two toolbars" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 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:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 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:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "" @@ -8469,7 +8504,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:331 msgid "Failed to start content server" msgstr "" @@ -8787,7 +8822,7 @@ 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:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "" @@ -8870,59 +8905,59 @@ msgstr "" msgid "The following books have already been converted to %s format. Do you wish to reconvert them?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py: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:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 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:465 msgid "Recipe Disabled" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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:543 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:546 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:550 msgid "WARNING: Active jobs" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "will keep running in the system tray. To close it, choose Quit in the context menu of the system tray." msgstr "" @@ -9093,7 +9128,7 @@ msgid "Options to customize the ebook viewer" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "" @@ -9146,36 +9181,36 @@ msgstr "" msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /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:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "" @@ -9243,83 +9278,83 @@ msgstr "" msgid "Search for text in book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

This book is protected by DRM" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 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:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "If specified, viewer window will try to open full screen when started." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -9434,48 +9469,48 @@ msgstr "" msgid "Toggle" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "If you use the WordPlayer e-book app on your Android phone, you can access your calibre book collection directly on the device. To do this you have to turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "Remember to leave calibre running as the server only runs as long as calibre is running." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "You have to add the URL http://myhostname:8080 as your calibre library in WordPlayer. Here myhostname should be the fully qualified hostname or the IP address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "

An invalid library already exists at %s, delete it before trying to move the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "" @@ -9533,7 +9568,7 @@ msgid "Choose your &language:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 -msgid "Choose a location for your books. When you add books to calibre, they will be copied here:" +msgid "

Choose a location for your books. When you add books to calibre, they will be copied here. Use an empty folder for a new calibre library:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 @@ -9805,28 +9840,28 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the specified directory. Useful if you are unsure at which stage of the conversion process a bug is occurring.\n" "Default: '%default'None\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from output. Case-insensitive.\n" "--exclude-tags=skip will match 'skip this book' and 'Skip will like this'.\n" @@ -9834,35 +9869,35 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -9871,21 +9906,21 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required to optimize the catalog for the device. For example, 'kindle' or 'kindle_dx' creates a structured Table of Contents with Sections and Articles.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -10389,31 +10424,31 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "" @@ -11002,7 +11037,7 @@ msgstr "" msgid "Failed to authenticate with server: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "" From af4d9fcae87815a886850d934a4d32b36c0b11b7 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Thu, 25 Nov 2010 04:50:33 +0000 Subject: [PATCH 19/80] Launchpad automatic translations update. --- src/calibre/translations/ca.po | 871 ++++++++++++++++--------------- src/calibre/translations/cs.po | 926 ++++++++++++++++++--------------- 2 files changed, 975 insertions(+), 822 deletions(-) diff --git a/src/calibre/translations/ca.po b/src/calibre/translations/ca.po index 1780130d60..d802c152ca 100644 --- a/src/calibre/translations/ca.po +++ b/src/calibre/translations/ca.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-20 12:44+0000\n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-24 20:08+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-11-21 04:45+0000\n" +"X-Launchpad-Export-Date: 2010-11-25 04:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -30,7 +30,7 @@ msgstr "No fa res" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -58,7 +58,7 @@ msgstr "No fa res" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -77,9 +77,9 @@ msgstr "No fa res" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -92,7 +92,7 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -112,8 +112,8 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -124,15 +124,15 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -141,13 +141,13 @@ msgstr "No fa res" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -188,9 +188,9 @@ msgstr "Acció d'interfície d'usuari" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Preferències" @@ -270,45 +270,45 @@ msgstr "Estableix les metadades als fitxers %s" msgid "Set metadata from %s files" msgstr "Estableix les metadades des dels fitxers %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Aspecte i comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interfície" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajusta l'aspecte i el comportament de la interfície del calibre adaptar-lo " "al vostre gust" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Comportament" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Canvia el comportament del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Columnes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Configura les columnes de la llista de llibres del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Personalitza la barra d'eines" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -316,60 +316,60 @@ msgstr "" "Personalitza les barres d'eines i els menús de context, canviant les accions " "que estaran disponibles" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Opcions d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Conversió" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "" "Ajusta les opcions de conversió específiques per a cada format d'entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Opcions comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Ajusta les opcions de conversió comunes a tots els formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Opcions de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "" "Ajusta les opcions de conversió específiques de cada format de sortida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 -msgid "Adding books" -msgstr "Afegint llibres" - #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +msgid "Adding books" +msgstr "Afegeix llibres" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Importa/exporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla com el calibre llegeix les metadades dels arxius quan s'afegeixen " "llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" -msgstr "Desant els llibres al disc" +msgstr "Desa llibres al disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -377,32 +377,32 @@ msgstr "" "Controla com el calibre exporta fitxers de la seva base de dades al disc en " "utilitzar «Desa al disc»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" -msgstr "Enviant llibres als dispositius" +msgstr "Envia llibres als dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controla com el calibre envia fitxers al lector de llibres" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Metadades dels quadres de connexions" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Canvia els camps de les metadades abans de desar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 -msgid "Sharing books by email" -msgstr "Compartint llibres via correu electrònic" - #: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 -msgid "Sharing" -msgstr "Compartint" +msgid "Sharing books by email" +msgstr "Comparteix llibres per correu electrònic" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 +msgid "Sharing" +msgstr "Compartició" + +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -410,11 +410,11 @@ msgstr "" "Configura la compartició de llibres per correu electrònic. Es pot utilitzar " "per enviar notícies descarregades als vostres dispositius" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" -msgstr "Compartint en xarxa" +msgstr "Comparteix en xarxa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -422,35 +422,35 @@ msgstr "" "Configura el Servidor de Continguts que dona accés a la biblioteca a través " "d'internet des de qualsevol lloc i dispositiu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Connectors" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Avançat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Afegeix/suprimeix/personalitza diverses parts de les funcions del calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Ajustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Configura en detall el comportament del calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Miscel·lània" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Configuració avançada" @@ -615,7 +615,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Aquest perfil és adient per a l'Amazon Kindle DX." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Aquest perfil és adient per al Sanda Bambook." @@ -675,12 +679,12 @@ msgid "" "Customize plugin. Specify name of plugin and customization string separated " "by a comma." msgstr "" -"Personalitza el connector. Especifiqueu el nom del connector i el text que " -"desitgeu, separats per una coma." +"Personalitza el connector. Especifiqueu el nom del connector i la cadena de " +"personalització, separats per una coma." #: /home/kovid/work/calibre/src/calibre/customize/ui.py:553 msgid "List all installed plugins" -msgstr "Fes una llista amb tots els connectors instal·lats" +msgstr "Mostra una llista dels connectors instal·lats" #: /home/kovid/work/calibre/src/calibre/customize/ui.py:555 msgid "Enable the named plugin" @@ -746,11 +750,11 @@ msgstr "%d de %d" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:992 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:3002 msgid "finished" -msgstr "finalitzat" +msgstr "s'ha acabat" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:560 msgid "Use Series as Category in iTunes/iBooks" -msgstr "Fes servir Sèries com a categoria a l'iTunes/iBooks" +msgstr "Fes servir la sèrie com a categoria a l'iTunes/iBooks" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:562 msgid "Cache covers from iTunes/iBooks" @@ -783,16 +787,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Notícies" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Catàleg" @@ -894,8 +898,8 @@ msgstr "Comunica't amb un lector SpringDesign Alex." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -984,26 +988,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "S'està aconseguint la llista de llibres del dispositiu..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "S'està suprimint llibres del llistat de metadades del dispositiu..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "S'està afegint llibres al llistat de metadades del dispositiu..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "No implementat" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -1258,26 +1262,26 @@ msgstr "" msgid "" "Disable normalize (improve contrast) color range for pictures. Default: False" msgstr "" -"Inhabilita la normalització (millora del contrast) del balanç de colors per " -"a les imatges . Per defecte: Desactivat" +"Inhabilita el normalitzat (millora del contrast) de la gamma de colors per a " +"les imatges. Per defecte: Desactivat" #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:265 msgid "Maintain picture aspect ratio. Default is to fill the screen." msgstr "" -"Conserva la proporció d'aspecte de la imatge. El valor predeterminat és " -"emplenar la pantalla." +"Conserva la proporció d'aspecte de la imatge. Per defecte s'omple la " +"pantalla." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:267 msgid "Disable sharpening." -msgstr "Inhabilita l'afinament." +msgstr "Inhabilita l'enfoc." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:269 msgid "" "Disable trimming of comic pages. For some comics, trimming might remove " "content as well as borders." msgstr "" -"Inhabilita el retallament de pàgines de còmic. Per alguns còmics, el " -"retallament podria eliminar el contingut a més de les vores." +"Inhabilita el retallat de pàgines de còmic. Per a alguns còmics, el retallat " +"podria eliminar contingut a més de les vores." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:272 msgid "Don't split landscape images into two portrait images" @@ -1288,8 +1292,8 @@ msgid "" "Keep aspect ratio and scale image using screen height as image width for " "viewing in landscape mode." msgstr "" -"Conserva la relació d'aspecte i escala la imatge fent servir l'alçada de la " -"pantalla com ample de la imatge, per a veure-la en mode apaïsat" +"Conserva la relació d'aspecte i dimensiona la imatge utilitzant com a " +"amplada l'alçada de la pantalla, per veure-la en mode apaïsat." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:277 msgid "" @@ -1313,8 +1317,8 @@ msgid "" "Don't sort the files found in the comic alphabetically by name. Instead use " "the order they were added to the comic." msgstr "" -"No ordenis alfabèticament els fitxers que hi ha còmic. Utilitza l'ordre en " -"què es van afegir al còmic." +"No ordenis alfabèticament els fitxers que hi ha al còmic. Utilitza l'ordre " +"en què es van afegir al còmic." #: /home/kovid/work/calibre/src/calibre/ebooks/comic/input.py:288 msgid "" @@ -1483,11 +1487,11 @@ msgid "" "fonts in the output bigger and vice versa. By default, the base font size is " "chosen based on the output profile you chose." msgstr "" -"La mida de la font base en punts (pts). Totes les mides de les fonts al " -"llibre resultant es podran escalar basant-se en aquesta mida. Si trieu una " -"mida més gran, podreu augmentar la mida de les fonts en la sortida i " -"viceversa. La mida de la font base predeterminada es selecciona en funció " -"del perfil de sortida que hagueu triat." +"La mida del tipus de lletra base en punts. Totes les mides de tipus de " +"lletra al llibre resultant es redimensionaran basant-se en aquesta mida. Si " +"trieu una mida més gran, podreu augmentar la mida dels tipus de lletra a la " +"sortida i a l'inrevés. La mida del tipus base per defecte es selecciona en " +"funció del perfil de sortida que es triï." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:147 msgid "" @@ -1497,16 +1501,16 @@ msgid "" "algorithm uses these sizes to intelligently rescale fonts. The default is to " "use a mapping based on the output profile you chose." msgstr "" -"Extreure del CSS del nom i la mida de les fonts en punts (pts). Un exemple " -"de configuració és 12,12,14,16,18,20,22,24. Aquestes són les configuracions " -"per a les mides de xx-petita a xx-gran, amb la qual la mida final resulta en " -"fonts enormes. L'algorisme d'escalat de les fonts empra aquestes mides per a " -"un escalat de les fonts intel·ligent. De forma predeterminada s'empra una " -"configuració basada en el perfil de sortida que hagueu triat." +"Extreu el nom i la mida dels tipus de lletra en punts del CSS. Un exemple de " +"configuració és 12,12,14,16,18,20,22,24. Aquestes són les configuracions per " +"a les mides de xx-petita a xx-gran, amb la mida final per a tipus de lletra " +"enormes. L'algorisme d'escalat dels tipus de lletra utilitza aquestes mides " +"per a un escalat dels tipus de lletra intel·ligent. Per defecte s'utilitza " +"una configuració basada en el perfil de sortida que s'ha triat." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:159 msgid "Disable all rescaling of font sizes." -msgstr "Inhabilita el reescalat de les mides de lletra." +msgstr "Inhabilita el redimensionat dels tipus de lletra." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:166 msgid "" @@ -1524,11 +1528,10 @@ msgid "" "page and other artifacts. This option will extract the content from the " "tables and present it in a linear fashion." msgstr "" -"Alguns documents mal dissenyats empren taules per a controlar la disposició " -"del text a la pàgina. Quan es converteixen aquests documents sovint es " -"produeixen desplaçaments del text fora de la pàgina i altres artefacte. " -"Aquesta opció extreu el contingut de les taules i el presenta de forma " -"lineal." +"Alguns documents mal dissenyats utilitzen taules per controlar la disposició " +"del text a la pàgina. Quan es converteixen sovint hi ha desplaçaments del " +"text fora de la pàgina i altres artefactes. Aquesta opció extreu el " +"contingut de les taules i el presenta de forma lineal." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:184 msgid "" @@ -1774,7 +1777,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:388 msgid "Use a regular expression to try and remove the header." -msgstr "Usa una expressió regular per a tractar i suprimir la capçalera" +msgstr "" +"Utilitza una expressió regular per identificar i suprimir la capçalera" #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:395 msgid "The regular expression to use to remove the header." @@ -1782,7 +1786,8 @@ msgstr "L'expressió per a substituir la capçalera." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:401 msgid "Use a regular expression to try and remove the footer." -msgstr "usa una expressió regular per a tractar i suprimir el peu de pàgina." +msgstr "" +"Utilitza una expressió regular per identificar i suprimir el peu de pàgina." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:408 msgid "The regular expression to use to remove the footer." @@ -1823,9 +1828,9 @@ msgid "" msgstr "" "Conserva les lligadures del document d'entrada. Una lligadura es una " "renderització especial de parells de caràcters tipus ff, fi, fl.... Molts " -"lectors, a les seves fonts per defecte, no són compatibles amb les " -"lligadures i és poc probable que les renderitzin correctament. Per defecte, " -"el calibre canvia la lligadura pel seu parell de caràcters normals " +"lectors, amb els seus tipus de lletra per defecte, no són compatibles amb " +"les lligadures i és poc probable que les renderitzin correctament. Per " +"defecte, el calibre canvia la lligadura pel seu parell de caràcters normals " "corresponents. Aquesta opció fa que les lligadures en conservin." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 @@ -2115,9 +2120,9 @@ msgid "" "negative. 0 implies that no links in the root HTML file are followed. " "Default is %default." msgstr "" -"Els nivells màxims de recursivitat quan es segueixen els enllaços als " -"fitxers HTML. No han de ser negatius. 0 significa que no hi ha enllaços a " -"l'arrel del fitxer HTML per seguir. El valor predeterminat es %default." +"Els nivells màxims de recursivitat en seguir els enllaços als fitxers HTML. " +"No han de ser negatius. 0 significa que no es segueixen enllaços al fitxer " +"HTML arrel. Per defecte %default." #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:265 msgid "" @@ -2203,30 +2208,29 @@ msgstr "Ha fallat l'anàlisi de l'enllaç %s %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:608 msgid "Cannot add link %s to TOC" -msgstr "No s'ha pogut afegir l'enllaç %s a la TDC" +msgstr "No s'ha pogut afegir l'enllaç %s a l'índex" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:957 msgid "Unable to process image %s. Error: %s" -msgstr "Incapaç de processar la imatge %s. Error: %s" +msgstr "No s'ha pogut processar la imatge %s. Error: %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1002 msgid "Unable to process interlaced PNG %s" -msgstr "Incapaç de processar PNG entrellaçat %s" +msgstr "No s'ha pogut processar el PNG entrellaçat %s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1017 msgid "" "Could not process image: %s\n" "%s" msgstr "" -"No puc processar la imatge: %s\n" +"No s'ha pogut processar la imatge: %s\n" "%s" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1772 msgid "" "An error occurred while processing a table: %s. Ignoring table markup." msgstr "" -"S'ha produït un error en processar una taula: %s. S'obvia el codi de la " -"taula." +"Hi ha hagut un error en processar una taula: %s. S'ignora el codi de taula." #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/html/convert_from.py:1774 msgid "" @@ -2298,7 +2302,7 @@ msgid "Path to output file" msgstr "Camí al fitxer de sortida" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Processament detallat" @@ -2680,6 +2684,7 @@ msgid "No cover found" msgstr "No s'ha trobat cap portada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Descàrrega de portades" @@ -2748,19 +2753,19 @@ msgstr "Descripció/sinopsis" msgid "Download %s from %s" msgstr "Descarrega %s des de %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Converteix a text pla els comentaris descarregats de %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Descarrega metadades des de Google Books." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Descarrega les metadades des d'isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2768,17 +2773,17 @@ msgstr "" "Registreu un %scompte gratuït%s i introduïu la vostra clau d'accés a " "continuació per fer servir isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Descarrega metadades socials des d'amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" "Descarrega informació de sèries, etiquetes i valoracions des de " "librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2802,23 +2807,24 @@ msgstr "" "gratuit a isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "L'ISBN del llibre que voleu les metadades." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "L'autor del llibre el qual vostè ha cercat." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "El títol del llibre el qual vostè ha cercat." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "L'editor del llibre el qual vostè ha cercat." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " no trobat." @@ -2836,6 +2842,22 @@ msgstr "" "Aconsegueix una imatge de portada o bé metadades socials per al llibre " "identificat amb ISBN des de LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -2995,7 +3017,7 @@ msgstr "Notes al peu" msgid "Sidebar" msgstr "Barra lateral" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -3006,7 +3028,7 @@ msgstr "" "paràgraf. En canvi, aquesta opció assumeix que cada línia representa un " "paràgraf." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3570,7 +3592,7 @@ msgid "Disable UI animations" msgstr "Desactiva les animacions" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Copiat" @@ -3744,7 +3766,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Afegeix llibres a la biblioteca des del dispositiu connectat" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Recull les anotacions (experimental)" @@ -3842,7 +3864,7 @@ msgid "Checking database integrity" msgstr "S'està comprovant la integritat de la base de dades" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3858,15 +3880,11 @@ msgstr "S'ha trobat algunes inconsistències" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"Els llibres següents tenien formats que s'indiquen a la base de dades que en " -"realitat no estan disponibles. Les entrades d'aquests formats s'han " -"eliminat. Hauríeu de comprovar-los manualment. Això pot passar si manipuleu " -"els fitxers de la carpeta de la biblioteca directament." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -4050,6 +4068,10 @@ msgstr "No puc convertir-lo" msgid "Starting conversion of %d book(s)" msgstr "S'està començant la conversió de %d llibre(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Copia a la biblioteca" @@ -4084,7 +4106,7 @@ msgid "Could not copy books: " msgstr "No s'ha pogut copiar els llibres: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4148,14 +4170,14 @@ msgid "Main memory" msgstr "Memòria principal" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Tarja de memòria A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Tarja de memòria B" @@ -4233,7 +4255,7 @@ msgstr "Connecta/comparteix" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:13 msgid "Manage collections" -msgstr "Gestiona les coo·leccions" +msgstr "Gestiona les col·leccions" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_collections.py:14 msgid "Manage the collections on this device" @@ -4401,6 +4423,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Executa l'asitent de benvinguda" @@ -4631,7 +4654,7 @@ msgid "The specified directory could not be processed." msgstr "La carpeta que s'ha indicat no es pot processar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Cap llibre" @@ -5168,7 +5191,7 @@ msgstr "&Nombre de colors" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:95 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:101 msgid "Disable &normalize" -msgstr "Inhabilita i &normalitza" +msgstr "Inhabilita el norma&litzat" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:96 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/comicconf_ui.py:102 @@ -5217,7 +5240,7 @@ msgstr "&Inhabilita el processament de còmics" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:105 #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:120 msgid "&Output format:" -msgstr "F&ormat de sortida:" +msgstr "&Format de sortida:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/comic_input_ui.py:106 msgid "Disable conversion of images to &black and white" @@ -5348,8 +5371,8 @@ msgstr "" "perfil de sortida actual.

\n" "

Vegeu el Manual de " -"l'usuari per a més explicacions de com funciona el redimensionat de " -"fonts.

" +"l'usuari per a més explicacions de com funciona el redimensionat tipus " +"de lletra.

" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:108 msgid "&Output document" @@ -5422,15 +5445,15 @@ msgstr "Justifica el text" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:128 msgid "&Disable font size rescaling" -msgstr "In&habilita el redimensionat de fonts" +msgstr "In&habilita el redimensionat de tipus de lletra" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:129 msgid "Base &font size:" -msgstr "Grandària de lletra base:" +msgstr "Mida de la &lletra base:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:132 msgid "Wizard to help you choose an appropriate font size key" -msgstr "Assistent que us ajudarà a triar una mida de font adequada" +msgstr "Assistent per triar una mida de tipus de lletra adequada" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:134 msgid "Line &height:" @@ -5468,7 +5491,7 @@ msgstr "Justificat del text:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:142 msgid "&Linearize tables" -msgstr "&Linealitza taules" +msgstr "Linealitza les &taules" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:143 msgid "Extra &CSS" @@ -5484,7 +5507,7 @@ msgstr "Insereix una línia en &blanc" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:146 msgid "Keep &ligatures" -msgstr "Conserva els &lligams" +msgstr "Conserva les &lligadures" #: /home/kovid/work/calibre/src/calibre/gui2/convert/look_and_feel_ui.py:147 msgid "Smarten &punctuation" @@ -5716,7 +5739,9 @@ msgstr "Etiqueta de documents personals:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" -msgstr "Configuració de la pàgina" +msgstr "" +"Configuració\r\n" +"de la pàgina" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup_ui.py:121 msgid "&Output profile:" @@ -5928,7 +5953,7 @@ msgstr "L'expressió XPath %s no és vàlida." #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:81 msgid "Chapter &mark:" -msgstr "&Marca de capítol:" +msgstr "Marca de &capítol:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:82 msgid "Remove first &image" @@ -5953,7 +5978,7 @@ msgstr "Factor per a reunificar una línia en el preprocessament:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/structure_detection_ui.py:87 msgid "&Preprocess input file to possibly improve structure detection" msgstr "" -"&Preprocessa el fitxer d'entrada per intentar millorar la detecció de " +"Preprocessa el &fitxer d'entrada per intentar millorar la detecció de " "l'estructura" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc.py:16 @@ -5996,7 +6021,7 @@ msgstr "&Força l'ús de l'índex que es generi automàticament" #: /home/kovid/work/calibre/src/calibre/gui2/convert/toc_ui.py:72 msgid "TOC &Filter:" -msgstr "&Filtre de l'índex:" +msgstr "Filtre de l'índe&x:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input.py:12 msgid "TXT Input" @@ -6022,7 +6047,7 @@ msgstr "No insereixis l'índex al text de sortida si es fa servir Markdown" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_input_ui.py:57 msgid "Preserve &spaces" -msgstr "Preservar &espais" +msgstr "Preserva &espais" #: /home/kovid/work/calibre/src/calibre/gui2/convert/txt_output.py:16 msgid "TXT Output" @@ -6200,103 +6225,103 @@ msgstr "etiquetes per afegir" msgid "tags to remove" msgstr "etiquetes per eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No hi ha detalls disponibles" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "El dispositiu ja no està connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Aconsegueix informació del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Aconsegueix la llista de llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Aconsegueix anotacions del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Envia les metadades al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Envia les col·leccions al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Carrega %d llibres al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Suprimeix llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Descarrega llibres del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Visualitza un llibre del dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Configura l'acció d'enviar al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Envia a la memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Envia a la targeta de memòria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Envia a la targeta de memòria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Memòria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Envia un format concret a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Envia i suprimeix de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Expulsa el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Error en la comunicació amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "No hi ha formats adequats" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Selecciona la carpeta que s'obrirà com a dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Hi ha hagut un error en comunicar-se amb el dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6304,119 +6329,61 @@ msgstr "" "Hi ha hagut un error de comunicació amb el dispositiu. Traieu-lo i torneu-lo " "a connectar i/o torneu a iniciar." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Dispositiu: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " detectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "seleccionat per enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Tria el format que s'enviarà al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "No hi ha cap dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "No s'ha pogut enviar: no hi ha cap dispositiu connectat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Sense targeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "No s'ha pogut enviar: el dispositiu no té targeta de memòria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "Llibre:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "Hi trobareu el llibre adjunt" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "per" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "en el format %s" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "S'està enviant correu electrònic a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" -"S'ha de convertir automàticament els llibres següents abans d'enviar-los per " -"correu electrònic?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"No s'han pogut enviar els llibres següents perquè no s'han trobat formats " -"adequats:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Error en enviar llibres per email" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Error en enviar els següents llibres per email:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "S'ha enviat per correu electrònic:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Notícies:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "S'adjunta el" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "S'ha enviat notícies a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "S'ha de convertir automàticament aquests llibres abans de carregar-los al " "dispositiu?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "S'estan enviant els catàlegs al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "S'estan enviant les notícies al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "S'estan enviant els llibres al dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6425,11 +6392,11 @@ msgstr "" "un format adequat. Convertiu primer el(s) llibre(s) a un format compatible " "amb el vostre dispositiu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "No hi ha espai al dispositiu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

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

No es pot desar llibres al dispositiu perquè no hi ha prou espai " @@ -6623,7 +6590,7 @@ msgid "No location selected" msgstr "No s'ha seleccionat cap ubicació" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "La ubicació és incorrecta" @@ -8155,7 +8122,7 @@ msgid "Discard changes" msgstr "Descarta els canvis" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Cancel·la" @@ -8363,6 +8330,72 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Codi font de la recepta (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Notícies:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "S'adjunta el" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "Llibre:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "Hi trobareu el llibre adjunt" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "per" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "en el format %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "S'està enviant correu electrònic a" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" +"S'ha de convertir automàticament els llibres següents abans d'enviar-los per " +"correu electrònic?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"No s'han pogut enviar els llibres següents perquè no s'han trobat formats " +"adequats:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Error en enviar llibres per email" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Error en enviar els següents llibres per email:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "S'ha enviat per correu electrònic:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "S'ha enviat notícies a" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "No s'ha trobat coincidències per al text «%s»." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "No s'han trobat coincidències" @@ -8814,12 +8847,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra d'eines del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Pàgina següent" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Pàgina anterior" @@ -8863,7 +8896,7 @@ msgid "Do not check for updates" msgstr "No comprovis si hi ha actualitzacions" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Biblioteca del calibre" @@ -9134,7 +9167,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:138 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" -"Per defecte, descarrega les metadades &socials (etiquetes, valoracions...)" +"Per defecte, &descarrega les metadades socials (etiquetes, valoracions...)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:139 msgid "Show notification when &new version is available" @@ -9143,12 +9176,12 @@ msgstr "Mostra un avís quan hi hagi una &nova versió disponible" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:140 msgid "Automatically send downloaded &news to ebook reader" msgstr "" -"Envia automàticament les ¬ícies que es descarreguin al lector de llibres" +"Envia &automàticament les notícies que es descarreguin al lector de llibres" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:141 msgid "&Delete news from library when it is automatically sent to reader" msgstr "" -"&Suprimeix les notícies de la llibreria quan s'enviïn automàticament al " +"&Suprimeix les notícies de la biblioteca quan s'enviïn automàticament al " "lector" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:142 @@ -9235,7 +9268,7 @@ msgid "" msgstr "" "Aquí podeu redistribuir la disposició de les columnes a llista de llibres de " "la biblioteca del calibre. Podeu ocultar columnes si les desmarqueu. També " -"podeu crear columnes personalitzades vostres." +"podeu crear les vostres columnes personalitzades." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns_ui.py:84 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/custom_columns_ui.py:84 @@ -9501,19 +9534,19 @@ msgstr "nova adreça de correu electrònic" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 msgid "Narrow" -msgstr "Estret" +msgstr "Estreta" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:24 msgid "Wide" -msgstr "Ample" +msgstr "Ampla" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:51 msgid "Medium" -msgstr "Mitjà" +msgstr "Mitjana" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:51 msgid "Small" -msgstr "Petit" +msgstr "Petita" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel.py:52 msgid "Large" @@ -9598,27 +9631,27 @@ msgstr "Mostra el &text sota les icones:" msgid "&Split the toolbar into two toolbars" msgstr "Divideix la barra d'eine&s en dues" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Aplica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Restaura els pre&determinats" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Desa els canvis" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Cancel·la i torna a la vista general" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "No es pot tornar als predeterminats per a" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9626,7 +9659,7 @@ msgstr "" "Heu fet alguns canvis que fan que calgui reiniciar. Reinicieu el calibre " "quan pugueu." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9634,7 +9667,7 @@ msgstr "" "Heu fet canvis que fan que calgui reiniciar el calibre immediatament. No " "podreu establir més preferències fins que s'hagi reiniciat." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Cal reiniciar" @@ -9990,7 +10023,7 @@ msgstr "" "Preferències->Avançat->Connectors" #: /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:331 msgid "Failed to start content server" msgstr "No s'ha pogut iniciar el servidor de continguts" @@ -10357,7 +10390,7 @@ msgstr "" "N'esteu segur?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Cerques" @@ -10451,28 +10484,28 @@ msgstr "" "Els llibres següents ja s'han convertit al format %s. Els voleu tornar a " "convertir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Restaura" -#: /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 "Feu una &donació per donar suport al calibre" -#: /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 "&Expulseu el dispositiu connectat" -#: /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 "Guia d'inici ràpid del calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Error de conversió" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10480,15 +10513,15 @@ msgstr "" "

No s'ha pogut convertir: %s

És un llibre amb DRM. " "Suprimiu primer el DRM amb eines de tercers." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Recepta inhabilitada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Ha fallat" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10498,11 +10531,11 @@ msgstr "" "útil, considereu fer una donació per donar suport al seu desenvolupament. La " "vostra donació ajudarà que el desenvolupament del calibre continuï." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hi ha tasques actives. Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
\n" " Quitting may cause corruption on the device.
\n" @@ -10512,11 +10545,11 @@ msgstr "" " Si sortiu podeu malmetre el dispositiu.
\n" " Segur que voleu sortir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "AVÍS: Hi ha tasques actives" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10629,7 +10662,7 @@ msgstr " Pí­xels" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:166 msgid "Monospace &font size:" -msgstr "Mida de la &font Monoespai:" +msgstr "Mida del &tipus de lletra Monoespai:" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/config_ui.py:168 msgid "S&tandard font:" @@ -10702,7 +10735,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcions per personalitzar el visor de llibres electrònics" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Recorda la darrera mida de finestra que s'ha fet servir" @@ -10739,15 +10772,15 @@ msgstr "Opcions del tipus de lletra" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 msgid "The serif font family" -msgstr "Família de fonts Serif" +msgstr "Grup de tipus de lletra Serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 msgid "The sans-serif font family" -msgstr "Família de fonts Sans-serif" +msgstr "Grup de tipus de lletra Sans-serif" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:59 msgid "The monospaced font family" -msgstr "Família de fonts Monoespai" +msgstr "Grup de tipus de lletra Monoespai" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:60 msgid "The standard font size in px" @@ -10755,42 +10788,42 @@ msgstr "Mida del tipus de lletra en px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The monospaced font size in px" -msgstr "Mida de la font Monoespai en px" +msgstr "Mida del tipus de lletra Monoespai en px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 msgid "The standard font type" msgstr "Tipus de lletra estàndard" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Cerca al diccionari" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Vés a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Propera secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Secció prèvia" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Inici del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Final del document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Inici de la secció" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Final de la secció" @@ -10860,90 +10893,90 @@ msgstr "" msgid "Search for text in book" msgstr "Cerca un text al llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Vista prèvia d'impressió" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "S'està connectant amb dict-org per cercar: %s..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Tria un llibre" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "No s'ha trobat coincidències per a: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "S'està carregant el flux..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "S'està aplicant la disposició %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Marcador #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Afegeix un nou marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Introduïu el títol del marcador:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Gestiona els marcadors" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "S'està carregant el llibre..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "Error de DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

This book is protected by DRM" msgstr "

Aquest llibre està protegit per DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "No s'ha pogut obrir l'ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Opcions de control del visor de llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si s'indica, la finestra del visor intentarà anar al primer pla quan " "s'iniciï." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si s'indica, s'intentarà que la finestra del visor s'obri en pantalla " "completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "" "Dirigeix les alertes de javascript i els missatges de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -10975,11 +11008,11 @@ msgstr "Pàgina anterior" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:197 msgid "Font size larger" -msgstr "Grandària de lletra base més gran:" +msgstr "Mida de la lletra base més gran" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:198 msgid "Font size smaller" -msgstr "Grandària de lletra base més petita" +msgstr "Mida de la lletra base més petita" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:202 msgid "Find next" @@ -11061,7 +11094,7 @@ msgstr "Amaga" msgid "Toggle" msgstr "Commuta" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11071,7 +11104,7 @@ msgstr "" "mòbil, podeu accedir la vostra col·lecció de llibres directament. Per fer-ho " "heu d'engegar el servidor de continguts." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11079,7 +11112,7 @@ msgstr "" "No oblideu deixar el calibre executant-se, ja que el servidor només funciona " "si el calibre està actiu." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11089,20 +11122,20 @@ msgstr "" "WordPlayer. «elmeuservidor» és el nom complert del servidor o l'adreça IP de " "l'ordinador on s'executa el calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "S'està movent la biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "No s'ha pogut moure la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Base de dades no vàlida" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" @@ -11110,22 +11143,22 @@ msgstr "" "

Ja hi ha una biblioteca no vàlida a %s, suprimiu-la abans d'intentar " "moure la biblioteca actual.
Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "No s'ha pogut moure la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Seleccioneu una ubicació per als llibres" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Heu de triar una carpeta buida per a la biblioteca del calibre. %s no està " "buida." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "Assistent de benvinguda" @@ -11168,7 +11201,7 @@ msgid "" "

Congratulations!

You have successfully setup calibre. Press the %s " "button to apply your settings." msgstr "" -"

Felicitats!

Heu configurat el calibre amb èxit. Premeu el botó %s " +"

Felicitats!

Heu configurat el calibre amb èxit. Premeu el botó «%s» " "per aplicar els vostres paràmetres." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/finish_ui.py:50 @@ -11213,11 +11246,9 @@ msgstr "Trieu el vostre &idioma:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Trieu una ubicació per als vostres llibres. Quan afegiu llibres al calibre " -"es copiaran aquí:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11231,7 +11262,7 @@ msgid "" msgstr "" "Si ja teniu una biblioteca del calibre, es copiarà a la nova ubicació. Si ja " "hi ha una biblioteca del calibre a la nova ubicació el calibre passarà a fer-" -"la." +"la servir." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email.py:34 msgid "Using: %s:%s@%s:%s and %s encryption" @@ -11575,7 +11606,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica al format de sortida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11585,7 +11616,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11599,7 +11630,7 @@ msgstr "" "Per defecte: «%default» No res\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11610,7 +11641,7 @@ msgstr "" "[etiqueta]\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11625,7 +11656,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11635,7 +11666,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11645,7 +11676,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11655,7 +11686,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11666,7 +11697,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11680,7 +11711,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11695,7 +11726,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11705,7 +11736,7 @@ msgstr "" "Per defecte: «%default»\n" "S'aplica als formats de sortida ePub i MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12442,32 +12473,32 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sLa valoració mitjana és %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Inici" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

Migrating old database to ebook library in %s

" msgstr "" "

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

" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "S'està copiant %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "S'està compactant la base de dades" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "S'està comprovant la integritat SQL" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "S'està comprovant si hi fitxers perduts." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "S'ha comprovat l'ID" @@ -13152,7 +13183,7 @@ msgstr "No s'ha pogut establir la sessió SSH: " msgid "Failed to authenticate with server: %s" msgstr "Ha fallat l'autentificació amb el servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Control l'enviament del correu electrònic" @@ -13896,6 +13927,17 @@ msgstr "No descarreguis els fulls d'estil CSS" #~ msgstr "" #~ "No s'ha trobat metadades, intenteu ajustar el títol i l'autor o l'ISBN." +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "Els llibres següents tenien formats que s'indiquen a la base de dades que en " +#~ "realitat no estan disponibles. Les entrades d'aquests formats s'han " +#~ "eliminat. Hauríeu de comprovar-los manualment. Això pot passar si manipuleu " +#~ "els fitxers de la carpeta de la biblioteca directament." + #~ msgid "" #~ "You can destroy your library using this feature. Changes are " #~ "permanent. There is no undo function. This feature is experimental, and " @@ -13933,6 +13975,13 @@ msgstr "No descarreguis els fulls d'estil CSS" #~ "Coincideix: la paraula o frase ha de coincidir amb el camp de metadades " #~ "sencer" +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Trieu una ubicació per als vostres llibres. Quan afegiu llibres al calibre " +#~ "es copiaran aquí:" + #~ msgid "" #~ "Dont forget to enter your gmail username and password. You can sign up for a " #~ "free gmail account at http://gmail.com" diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index 99d6388fb3..d1b9bf62eb 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-21 22:13+0000\n" -"Last-Translator: Marek Sušický \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-24 22:10+0000\n" +"Last-Translator: Aleš Bajtalon \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-22 04:48+0000\n" +"X-Launchpad-Export-Date: 2010-11-25 04:50+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,7 +27,7 @@ msgstr "Nedělá vůbec nic" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -55,7 +55,7 @@ msgstr "Nedělá vůbec nic" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -74,9 +74,9 @@ msgstr "Nedělá vůbec nic" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -89,7 +89,7 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -109,8 +109,8 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -121,15 +121,15 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -138,13 +138,13 @@ msgstr "Nedělá vůbec nic" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -185,9 +185,9 @@ msgstr "Akce Uživatelského rozhraní" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Možnosti" @@ -267,98 +267,98 @@ msgstr "Nastavuje metadata do souborů %s" msgid "Set metadata from %s files" msgstr "Nastavuje metadata ze souborů %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Vzhled" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Rozhraní" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Přizpůsobení vzhledu uživatelského rozhraní calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Chování" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Mění způsob chování calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Přidejte své vlastní sloupce" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Přidejte/odeberte své vlastní sloupce z calibre seznamu knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Upravit lištu nástrojů" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" msgstr "Přizpůsobení panelu nástrojů a kontextových menu." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Volby vstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Převod" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "Nastavení převodu specifické pro jednotlivé formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Obecné nastavení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" -msgstr "" +msgstr "Nastavení převodu společné pro všechny formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Nastavení výstupu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "Nastavení převodu specifické pro jednotlivé formáty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "Nastavuje jak calibre čte metadata ze souborů při přidávání knih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Ukládání knih na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -366,32 +366,32 @@ msgstr "" "Nastavuje jak calibre exportuje soubory z jeho databáze na disk při použití " "Ulož na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Posílání knih do zařízení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Nastavuje jak calibre přesouvá soubory do vaší čtečky" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" -msgstr "" +msgstr "Plugboardy s metadaty" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Změň metadata před uložením/odesláním" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Sdílení knih pomocí emailu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Sdílení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -399,11 +399,11 @@ msgstr "" "Natavení sdílení knih pomocí emailu. Může být použito pro automatické " "odesílání stažených zpráv do vašeho zařízení." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Sdílení po síti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -411,33 +411,33 @@ msgstr "" "Natavení calibre Obsahového Serveru, který vám umožní přistupovat k vaší " "knihovně calibre odkudkoliv, na jakémkoli zařízení, přes internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Moduly" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Rozšířené" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Přidat/odebrat/nastavit různé funkce calibre." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Vylepšení" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Doladit chování calibre v různých situacích" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Různé" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Pokročilá konfigurace" @@ -572,7 +572,7 @@ msgstr "Připraveno pro iPad a podobná zařízení s rozlišením 768x1024" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:435 msgid "Intended for generic tablet devices, does no resizing of images" -msgstr "" +msgstr "Určeno pro tablety, nemění velikost obrázků." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:462 msgid "This profile is intended for the Kobo Reader." @@ -598,7 +598,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Tento profil je určený pro Amazon Kindle DX." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Tento profil je určený pro Sanda Bambook." @@ -702,6 +706,8 @@ msgid "" "Cannot copy books directly from iDevice. Drag from iTunes Library to " "desktop, then add to calibre's Library window." msgstr "" +"Nelze kopírovat knihy přímo z iDevice. Přetáhněte je z iTunes Library na " +"plochu a poté je přidejte do Calibre do okna Library." #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:260 #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:263 @@ -758,16 +764,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Zprávy" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Katalog" @@ -852,6 +858,8 @@ msgid "" "Comma separated list of directories to send e-books to on the device. The " "first one that exists will be used." msgstr "" +"Čárkami oddělený seznam adresářů, do kterých se mají odeslat knihy na " +"zařízení. Použit bude první existující." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:22 msgid "Communicate with the Hanvon N520 eBook reader." @@ -867,8 +875,8 @@ msgstr "Spojit se s SpringDesign Alex eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -941,6 +949,8 @@ msgid "" "The Kobo supports only one collection currently: the \"Im_Reading\" list. " "Create a tag called \"Im_Reading\" " msgstr "" +"Čtečka Kobo podporuje momentálně pouze jednu kolekci: \"Im_Reading\" seznam. " +"Vytvořte tak nazvaný \"Im_Reading\" " #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:65 #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:68 @@ -955,26 +965,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Získávám seynam knih na zařízení..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Odebírám knihy ze seznamu metadat v zařízení..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Přidávám knihy do seznamu metadat v zařízení..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Neimplementováno" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -1169,7 +1179,7 @@ msgstr "Číst metadata ze souborů zařízení" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:45 msgid "Use author sort instead of author" -msgstr "" +msgstr "Použít třídění autora místo autora" #: /home/kovid/work/calibre/src/calibre/devices/usbms/deviceconfig.py:47 msgid "Template to control how books are saved" @@ -1760,6 +1770,11 @@ msgid "" "corresponding pair of normal characters. This option will preserve them " "instead." msgstr "" +"Zachovat ligatury přítomné ve vstupním dokumentu. Ligatura je speciální " +"vyrenderování znaků jako např. ff, fi, fl atd. V základních fontech nemá " +"většina čteček podporu ligatur. Ve výchozím nastavení calibre převede " +"ligatury do odpovídajícího páru znaků. Tato volba je ponechá v původním " +"tvaru." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:449 #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:38 @@ -1869,7 +1884,7 @@ msgstr "ePub Fixer" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:18 msgid "Workaround epubcheck bugs" -msgstr "" +msgstr "Obejít epubcheck chyby" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/epubcheck.py:22 msgid "" @@ -1878,6 +1893,9 @@ msgid "" "detect these and replace them with constructs that epubcheck likes. This may " "cause significant changes to your epub, complain to the epubcheck project." msgstr "" +"Obejití chyb v poslední verzi epubchecku. epubcheck hlásí mnoho chyb, které " +"nejsou ve skutečnosti chyby. epub-fix se pokusí je najít a nahradit je " +"konstrukcí, kterou epubcheck rozumí. Toto může způsobit výrazné změny epub." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/main.py:21 msgid "" @@ -1896,17 +1914,19 @@ msgstr "Musíte specifikovat epub soubor" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:17 msgid "Fix unmanifested files" -msgstr "" +msgstr "Opravit soubory bez manifestu" #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:21 msgid "" "Fix unmanifested files. epub-fix can either add them to the manifest or " "delete them as specified by the delete unmanifested option." msgstr "" +"Opravit soubory bez manifestu. epub-fix je může přidat do manifextu, anebo " +"je smazat, podle stavu volby smazat soubory bez manifestu." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/fix/unmanifested.py:32 msgid "Delete unmanifested files instead of adding them to the manifest" -msgstr "" +msgstr "Smazat soubory bez manifestu, než je přidat do manifestu." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:56 msgid "" @@ -1946,6 +1966,8 @@ msgid "" "default cover is generated with the title, authors, etc. This option " "disables the generation of this cover." msgstr "" +"Pokud vstupní soubor nemá obálku, je vygenerovaná výchozí s názvem, autorem " +"atd. Tato volba zablokuje generování této obálky." #: /home/kovid/work/calibre/src/calibre/ebooks/epub/output.py:86 msgid "" @@ -1997,12 +2019,14 @@ msgid "" "experimental. It can cause conversion to fail. It can also produce " "unexpected output." msgstr "" +"Pokusit se změnit kapitoly na individuální sekce. VAROVÁNÍ: Tato volba je " +"experimentální. Může skončit chybou. Může také produkovat neočekávaný výstup." #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:249 msgid "" "Traverse links in HTML files breadth first. Normally, they are traversed " "depth first." -msgstr "" +msgstr "Procházet HTML linky do šířky. Normálně jsou procházeny do hloubky." #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:256 msgid "" @@ -2010,6 +2034,8 @@ msgid "" "negative. 0 implies that no links in the root HTML file are followed. " "Default is %default." msgstr "" +"Nejvyšší úroveň rekurze při průchodu HTML linků. Musí být nezáporné. 0 " +"způsobí zákaz průchodu linků. Výchozí je %default." #: /home/kovid/work/calibre/src/calibre/ebooks/html/input.py:265 msgid "" @@ -2018,6 +2044,9 @@ msgid "" "can result in various nasty side effects in the rest of of the conversion " "pipeline." msgstr "" +"Běžně tento plugin přeskupí všechny výstupní soubory do standardní " +"hierarchie složek. Použijte tuto volbu pouze, pokud víte, co děláte ;) Může " +"to dopadnout různými bočními efekty ve zbytku konverzního procesu." #: /home/kovid/work/calibre/src/calibre/ebooks/html/output.py:33 msgid "CSS file used for the output instead of the default file" @@ -2180,7 +2209,7 @@ msgid "Path to output file" msgstr "Cesta k výstupnímu souboru" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Zvýšit množství vypisovaných informací" @@ -2488,12 +2517,16 @@ msgid "" "The version of the title to be used for sorting. If unspecified, and the " "title is specified, it will be auto-generated from the title." msgstr "" +"Verze názvu užitá pro třídění. Pokud není vybrána a název je určen, bude " +"automaticky vygenerována z názvu." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:48 msgid "" "String to be used when sorting by author. If unspecified, and the author(s) " "are specified, it will be auto-generated from the author(s)." msgstr "" +"Řetězec, který se používá při řazení podle autora. Pokud není uveden, ale " +"autor uveden je, bude automaticky vygenerován z jména autora." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/cli.py:52 msgid "Set the cover to the specified file." @@ -2556,6 +2589,7 @@ msgid "No cover found" msgstr "Obálka nenalezena" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Stažení obalu" @@ -2623,19 +2657,19 @@ msgstr "popis/recenze" msgid "Download %s from %s" msgstr "Stáhnout %s z %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Převést komentáře stažené z %s do prostého textu" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Stáhnout metadata z Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Stáhnout metadata z isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2643,15 +2677,15 @@ msgstr "" "K použití isbndb.com se musíte zaregistrovat %súčet zdarma%s a vložit váš " "přístupový kód níže." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Stáhnout sociální metadata z amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Stáhnout sérii/tagy/hodnocení z librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2665,23 +2699,24 @@ msgid "" "\n" msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "ISBN kód knihy, pro kterou si přejete získat metadata." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "Auto hledané knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "Název hledané knihy." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "Vydavatel hledané knihy" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " se nepodařilo nalézt." @@ -2693,6 +2728,27 @@ msgid "" "Fetch a cover image/social metadata for the book identified by ISBN from " "LibraryThing.com\n" msgstr "" +"\n" +"%prog [volby] ISBN\n" +"\n" +"Stáhnout obálku/metadata pro knihu identifikovanou podle ISBN z " +"LibraryThing.com\n" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 @@ -2705,7 +2761,7 @@ msgstr "Upravit obrázky aby vyhovovali velikostním omezení Palm zařízení." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:26 msgid "When present, use author sort field as author." -msgstr "" +msgstr "Když je přítomno, použije pole pro třídění dle autora jako autora." #: /home/kovid/work/calibre/src/calibre/ebooks/mobi/output.py:30 msgid "" @@ -2813,7 +2869,7 @@ msgstr "Kniha %s z %s" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/htmltoc.py:54 msgid "HTML TOC generation options." -msgstr "" +msgstr "Volby generátoru obsahu HTML" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 @@ -2850,7 +2906,7 @@ msgstr "Poznámky pod čarou" msgid "Sidebar" msgstr "Postraní panel" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -2858,7 +2914,7 @@ msgid "" "it will assume that every line represents a paragraph instead." msgstr "" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3063,7 +3119,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/reverse.py:54 msgid "Reverse Options:" -msgstr "" +msgstr "Reverzní volby:" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/rotate.py:24 msgid "" @@ -3103,6 +3159,8 @@ msgid "" "The unit of measure. Default is inch. Choices are %s Note: This does not " "override the unit for margins!" msgstr "" +"Jednotka měření. Výchozí je palec. Volby jsou %s. Poznámka: Toto nepřepisuje " +"jednotku pro okraje." #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:36 msgid "" @@ -3117,6 +3175,8 @@ msgid "" "Custom size of the document. Use the form widthxheight EG. `123x321` to " "specify the width and height. This overrides any specified paper-size." msgstr "" +"Výchozí velikost pro dokumenty. Použitá forma je výska x šířka. `123x321` k " +"určení výšky a šířky. Toto přepíše všechny zvolené velikosti papíru." #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/output.py:45 msgid "The orientation of the page. Default is portrait. Choices are %s" @@ -3223,6 +3283,8 @@ msgid "" "Run the text input through the markdown pre-processor. To learn more about " "markdown see" msgstr "" +"Spustit textový vstup přes markdown preprocesor. Pro zjištění více informací " +"o markdownu prohlédněte" #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:40 msgid "Do not insert a Table of Contents into the output text." @@ -3365,7 +3427,7 @@ msgid "Disable UI animations" msgstr "Zakázat UI animace" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Kopírováno" @@ -3540,7 +3602,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Přidat knihy do Vaší calibre knihovny z připojeného zařízení" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Stáhnout anotace (experimentální)" @@ -3572,7 +3634,7 @@ msgstr "Nevybrané žádné knihy pro načtení anotací" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:90 msgid "Merging user annotations into database" -msgstr "" +msgstr "Sloučení uživatelských anotací (komentářů) do databáze" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:118 msgid "%s
Last Page Read: %d (%d%%)" @@ -3637,7 +3699,7 @@ msgid "Checking database integrity" msgstr "Kontrola integrity databáze" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3653,15 +3715,11 @@ msgstr "Byly zjištěny nějaké nesrovnalosti" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"Následující knihy měly formáty uvedené v databázi, které nejsou aktuálně k " -"dispozici. Tyto formáty byly odstraněny. Měli byste provést manuální " -"kontrolu. Tato situace může nastat, pokud budete manipulovat se soubory " -"přímo ve složce knihovny." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -3771,7 +3829,7 @@ msgstr "Stav zálohování" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:318 msgid "Book metadata files remaining to be written: %s" -msgstr "" +msgstr "Knižní metadata, která zbývá zapsat: %s" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:324 msgid "Backup metadata" @@ -3843,6 +3901,10 @@ msgstr "Nemůžu převást" msgid "Starting conversion of %d book(s)" msgstr "Zahajuji konverzi %d knih(y)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Kopíruj do knihovny" @@ -3877,7 +3939,7 @@ msgid "Could not copy books: " msgstr "Nelze kopírovat knihy: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -3941,14 +4003,14 @@ msgid "Main memory" msgstr "Hlavní paměť" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Paměťová karta A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Paměťová karta B" @@ -4042,7 +4104,7 @@ msgstr "Upravit metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:27 msgid "Merge book records" -msgstr "Spoj záznamy o knize" +msgstr "Spojit záznamy o knize" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:28 msgid "M" @@ -4074,11 +4136,11 @@ msgstr "Stáhni pouze sociální metadata" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:50 msgid "Merge into first selected book - delete others" -msgstr "Sluč do první označené knihy - smaž ostatní" +msgstr "Sloučit do první označené knihy - smazat ostatní" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:53 msgid "Merge into first selected book - keep others" -msgstr "Sluč do první označené knihy - ponech ostatní" +msgstr "Sloučit do první označené knihy - ponechat ostatní" #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:74 msgid "Cannot download metadata" @@ -4185,6 +4247,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Spustit uvítacího průvodce" @@ -4414,7 +4477,7 @@ msgid "The specified directory could not be processed." msgstr "Zadaný adresář nebylo možné zpracovat." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Žádné knihy" @@ -4767,7 +4830,7 @@ msgstr "Konfigurace kódování (změňte pokud máte chyby):" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:91 msgid "strict" -msgstr "" +msgstr "přísný" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:92 msgid "replace" @@ -4783,7 +4846,7 @@ msgstr "nahraditbackslash" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:95 msgid "BibTeX entry type:" -msgstr "" +msgstr "BibTeX typ záznamu:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:96 msgid "mixed" @@ -4803,7 +4866,7 @@ msgstr "Vytvořit tag citace?" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:100 msgid "Expression to form the BibTeX citation tag:" -msgstr "" +msgstr "Výraz pro vytvoření BibTeX citační značky:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_bibtex_ui.py:101 msgid "" @@ -4834,7 +4897,7 @@ msgstr "'Označit knihu jako přečtenou' tag" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:85 msgid "Additional note tag prefix:" -msgstr "" +msgstr "Doplňující prefix tag pro poznámku:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:86 msgid "Regex pattern describing tags to exclude as genres:" @@ -4851,7 +4914,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:90 msgid "Include 'Titles' Section" -msgstr "" +msgstr "Zahrň sekci Názvy" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:91 msgid "Include 'Recently Added' Section" @@ -5062,7 +5125,7 @@ msgstr "&Inline TOC" #: /home/kovid/work/calibre/src/calibre/gui2/convert/fb2_output_ui.py:38 msgid "Sectionize Chapters (Use with care!)" -msgstr "" +msgstr "Rozdělit sekce do kapitol. (Používat s citem!)" #: /home/kovid/work/calibre/src/calibre/gui2/convert/font_key_ui.py:104 msgid "Font rescaling wizard" @@ -5233,7 +5296,7 @@ msgstr "Povolit automatické otáčení širokých obrázků" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:122 msgid "&Wordspace:" -msgstr "" +msgstr "&Wordspace:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:124 msgid "Minimum para. &indent:" @@ -5241,7 +5304,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:126 msgid "Render &tables as images" -msgstr "" +msgstr "Vyrenderovat &tabulky jako obrázky" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:127 msgid "Text size multiplier for text in rendered tables:" @@ -5261,19 +5324,19 @@ msgstr "Formát hlavičky:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:132 msgid "&Embed fonts" -msgstr "" +msgstr "&Vložené fonty" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:133 msgid "&Serif font family:" -msgstr "" +msgstr "&Serif font family:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:134 msgid "S&ans-serif font family:" -msgstr "" +msgstr "S&ans-serif font family:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/lrf_output_ui.py:135 msgid "&Monospaced font family:" -msgstr "" +msgstr "&Monospaced font family:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:44 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:114 @@ -5424,7 +5487,7 @@ msgstr "Změnit velikost obrázků pro zařízení Palm" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:74 msgid "Use author &sort for author" -msgstr "" +msgstr "Použít třídění dle autorů pro autora" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:75 msgid "Disable compression of the file contents" @@ -5444,7 +5507,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/convert/mobi_output_ui.py:79 msgid "Personal Doc tag:" -msgstr "" +msgstr "Osobní Doc tag:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/page_setup.py:35 msgid "Page Setup" @@ -5586,7 +5649,7 @@ msgstr "Vstupn&í formát:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/single_ui.py:119 msgid "Use &saved conversion settings for individual books" -msgstr "" +msgstr "Použít uložené konverzní nastavení pro individuální knihy" #: /home/kovid/work/calibre/src/calibre/gui2/convert/snb_output.py:14 msgid "SNB Output" @@ -5785,7 +5848,7 @@ msgstr "Použít průvodce pro tvorbu XPath výrazů" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:73 msgid "Match HTML &tags with tag name:" -msgstr "" +msgstr "Spojit HTML &tagz se jménem tagu:" #: /home/kovid/work/calibre/src/calibre/gui2/convert/xpath_wizard_ui.py:74 msgid "*" @@ -5921,103 +5984,103 @@ msgstr "tagy k přidání" msgid "tags to remove" msgstr "tagy k odstranění" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nejsou dostupné žádné detaily." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Zařízení už není připojené" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Získat informace o zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Získat seznam knih v zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Získat anotace ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Odeslat metadata do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Odestat kolekci do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Odeslat %d knih do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Smazat knihy ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Převzít knihy ze zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Zobrazit knihu v zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Nastavit výchozí nastavení pro odeslání do čtečky" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Odeslat do hlavní paměti" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Odeslat na pamětovou kartu A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Odeslat na pamětovou kartu B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Hlavní paměť" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Poslat specifický formát" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Odeslat a smazat z knihovny" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Odpojit zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Cyba komunikace se zařízením" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "Žádné vhodné formáty" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Označit složku a otevřít jako zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Chyba komunikace se zařízením" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6025,115 +6088,60 @@ msgstr "" "Dočasná chyba komunikace se zařízením. Prosím odpojte a znovu připojte " "zařízení anebo restarujte počítač." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Zařízení: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " nalezeno." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "vybrané k odeslání" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Vyberte formát k odeslání do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Nemohu odeslat: Není připojeno žádné zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Žádná karta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Nemohu odeslat: Zařízení nemá pamětovou kartu." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "E-book:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "od" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "v %s formátu" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Odeslat email" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "Automaticky konvertovat knihy před emailovým odesláním?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"Nemohu emailovat následující knihy, nebyl nalezen žádný vhodný formát:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Selhalo odeslání knih emailem" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Poslání následujících knih selhalo:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Odesláno emailem:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Zprávy:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Přiloženo je" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Odeslat zprávy do" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Automaticky zkonvertovat následující knihy, než se nahrají do zařízení?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Odeslat katalog do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Odesílám zprávy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Odesílám knihy do zařízení" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6142,11 +6150,11 @@ msgstr "" "žádné vhodné formáty. Převést knihu(y) do formátu, které přístroj primárně " "podporuje." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "Na zařízení není volné místo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

Cannot upload books to device there is no more free space available " msgstr "" @@ -6177,7 +6185,7 @@ msgstr "Použít podadresáře" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:88 msgid "Use author sort for author" -msgstr "" +msgstr "Použít třídění dle autora pro autora" #: /home/kovid/work/calibre/src/calibre/gui2/device_drivers/configwidget_ui.py:90 msgid "Save &template:" @@ -6334,7 +6342,7 @@ msgid "No location selected" msgstr "Nevybráno žádné umístění" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Špatné umístění" @@ -6467,7 +6475,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog_ui.py:75 msgid "Recalculate all author sort values" -msgstr "" +msgstr "Přepočítat hodnoty pro třídění autorů" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:60 msgid "Author Sort" @@ -6605,7 +6613,7 @@ msgstr "Velká písmena" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:188 #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:388 msgid "Title Case" -msgstr "" +msgstr "Velikost písma v nadpise" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:191 msgid "Character match" @@ -6674,7 +6682,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:440 msgid "You must specify a destination when source is a composite field" -msgstr "" +msgstr "Musíte určit cíl, když je zdroj kompozitní pole" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:532 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:540 @@ -6700,6 +6708,8 @@ msgid "" "Applying changes to %d books.\n" "Phase {0} {1}%%." msgstr "" +"Aplikuji změny na %d knih.\n" +"Fáze {0} {1}%%." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:335 msgid "Edit Meta information" @@ -6711,13 +6721,15 @@ msgstr "Automaticky nastavit řazení dle autora" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:338 msgid "Author s&ort: " -msgstr "" +msgstr "Třídění dle autora: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:339 msgid "" "Specify how the author(s) of this book should be sorted. For example Charles " "Dickens should be sorted as Dickens, Charles." msgstr "" +"Určuje, jak je autor této knihy zatříděn. Například Charles Dickens může být " +"tříděn jako Dickens, Charles." #: /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 @@ -6811,7 +6823,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:372 msgid "Change title to title case" -msgstr "" +msgstr "Změnit název - velká písmena" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:373 msgid "" @@ -6822,7 +6834,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:376 msgid "Remove &stored conversion settings for the selected books" -msgstr "" +msgstr "Odstranit uložené nastavení konverze pro označené knihy" #: /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 @@ -6851,6 +6863,8 @@ msgid "" "Choose whether to use basic text matching or advanced regular expression " "matching" msgstr "" +"Zvolit, jestli použít základní porovnávání textu, nebo pokročilé porovnávání " +"s regulárními výrazy" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:383 msgid "&Search for:" @@ -7397,6 +7411,8 @@ msgid "" "Interval at which to download this recipe. A value of zero means that the " "recipe will be downloaded every hour." msgstr "" +"Interval, ve kterém se má stahovat tato úloha. Nulová hodnota znamená, že " +"úloha bude stahována každou hodinu." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:227 @@ -7467,20 +7483,20 @@ msgstr "Rozšířené vyhledávání" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:199 msgid "What kind of match to use:" -msgstr "" +msgstr "Jaký typ porovnávání použít:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:200 msgid "Contains: the word or phrase matches anywhere in the metadata field" -msgstr "" +msgstr "Obsahuje: slovo nebo fráze je obsažena kdekoliv v poli metadat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:201 msgid "Equals: the word or phrase must match the entire metadata field" -msgstr "" +msgstr "Rovná se: slovo nebo fráze se shoduje kompletně s polem metadat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:202 msgid "" "Regular expression: the expression must match anywhere in the metadata field" -msgstr "" +msgstr "Regulární výraz: výraz se musí shodovat kdekoli v poli metadat" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:203 msgid "Find entries that have..." @@ -7553,7 +7569,7 @@ msgstr "Hledat pouze v konkrétních oblastech:" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/search_ui.py:221 msgid "Titl&e/Author/Series ..." -msgstr "" +msgstr "Titul/Autor/Série ..." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/select_formats.py:45 msgid "Choose formats" @@ -7571,16 +7587,17 @@ msgstr "Vydavatelé" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:114 msgid " (not on any book)" -msgstr "" +msgstr " (na žádnou knihu)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories.py:166 msgid "" "The current tag category will be permanently deleted. Are you sure?" msgstr "" +"Aktuální kategorie tagů bude trvale odstraněna. Jste si jistí?" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:158 msgid "User Categories Editor" -msgstr "" +msgstr "Uživatel editor kategorie" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:159 msgid "A&vailable items" @@ -7588,11 +7605,11 @@ msgstr "Dostupné položky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:160 msgid "Apply tags to current tag category" -msgstr "" +msgstr "Aplikovat tagy do aktuální kategorie tagů" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:162 msgid "A&pplied items" -msgstr "" +msgstr "Aplikované položky" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:163 msgid "Unapply (remove) tag from current tag category" @@ -7620,7 +7637,7 @@ msgstr "Přidat novou kategorii" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:172 msgid "Category filter: " -msgstr "" +msgstr "Filtr kategorie: " #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_categories_ui.py:173 msgid "Select the content kind of the new category" @@ -7685,7 +7702,7 @@ msgstr "Přidat tag do seznamu dostupných tagů a aplikovat na aktuální knihu #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:20 msgid "%s (was %s)" -msgstr "" +msgstr "%s (bylo %s)" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:74 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:580 @@ -7695,7 +7712,7 @@ msgstr "Položka je prázdná" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:75 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:581 msgid "An item cannot be set to nothing. Delete it instead." -msgstr "" +msgstr "Položka nemůže být nastavena na nic. Smažte ji." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor.py:91 msgid "No item selected" @@ -7740,7 +7757,7 @@ msgstr "Přejmenovat položku v každé knize, ve které je použita." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tag_list_editor_ui.py:83 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:106 msgid "Ctrl+S" -msgstr "" +msgstr "Ctrl+S" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/test_email_ui.py:56 msgid "Test email settings" @@ -7757,26 +7774,26 @@ msgstr "&Test" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:55 msgid "Display contents of exploded ePub" -msgstr "" +msgstr "Zobrazit obsah rozebraného ePub" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:56 msgid "&Explode ePub" -msgstr "" +msgstr "Rozebrat ePub" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:57 msgid "Rebuild ePub from exploded contents" -msgstr "" +msgstr "Znovuvytvořit ePub z rozebraného obsahu" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:58 msgid "&Rebuild ePub" -msgstr "" +msgstr "&Znovyvytvořit ePub" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:59 msgid "Discard changes" -msgstr "" +msgstr "Zrušit změny" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Zrušit" @@ -7970,11 +7987,77 @@ msgid "" "For help with writing advanced news recipes, please visit User Recipes" msgstr "" +"Pro nápovědu k psaní složitějších převodních skriptů navštivte Uživatelské převodní " +"skripty - Recipes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/user_profiles_ui.py:282 msgid "Recipe source code (python)" msgstr "Kód zdroje (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Zprávy:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Přiloženo je" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "E-book:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "Přiloženo, najdete e-book" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "od" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "v %s formátu" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Odeslat email" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "Automaticky konvertovat knihy před emailovým odesláním?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"Nemohu emailovat následující knihy, nebyl nalezen žádný vhodný formát:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Selhalo odeslání knih emailem" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Poslání následujících knih selhalo:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Odesláno emailem:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Odeslat zprávy do" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "Pro hledaný výraz %s nebyly nalezeny žádné výsledky." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "Nebyly nalezeny žádné výsledky" @@ -8401,12 +8484,12 @@ msgid "LRF Viewer toolbar" msgstr "Nástrojová išta prohlížeče LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Následující strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Předcházející strana" @@ -8443,14 +8526,14 @@ msgstr "Spustit program minimalizovaný v systémové liště" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:34 msgid "Log debugging information to console" -msgstr "" +msgstr "Logovat ladící informace do konzole" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:36 msgid "Do not check for updates" msgstr "Nezjišťuj nové verze" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Calibre knihovna" @@ -8603,7 +8686,7 @@ msgstr "Nepodařilo se získat" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:229 msgid "%s %s for: %s" -msgstr "" +msgstr "%s %s pro: %s" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:288 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:162 @@ -8612,7 +8695,7 @@ msgstr "Dokončeno" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:289 msgid "Successfully downloaded metadata for %d out of %d books" -msgstr "" +msgstr "Úspěšně stažena metadata pro %d z %d knih" #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:291 #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:649 @@ -8657,6 +8740,8 @@ msgid "" "If books with similar titles and authors found, &merge the new files " "automatically" msgstr "" +"Pokud jsou nalezeny knihy s podobnými názvy a autory, sloučit nové soubory " +"automaticky" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/adding_ui.py:56 msgid "&Configure metadata from file name" @@ -8691,15 +8776,16 @@ msgstr "Nízká" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior.py:163 msgid "Confirmation dialogs have all been reset" -msgstr "" +msgstr "Všechny potvrzovací dialogy byly vyresetovány" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:137 msgid "&Overwrite author and title by default when fetching metadata" -msgstr "" +msgstr "Přepsat autora a titul ve výchozím nastavení při načítání metadat" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:138 msgid "Download &social metadata (tags/ratings/etc.) by default" msgstr "" +"Stahovat sociální metadata (tagy/hodnocení/atd.) ve výchozím nastavení" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:139 msgid "Show notification when &new version is available" @@ -8753,6 +8839,8 @@ msgid "" "A comma-separated list of tags that will be applied to books added to the " "library" msgstr "" +"Čárkou oddělený seznam tagů, které budou přiřazeny knihám přidávaným do " +"knihovny" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:153 msgid "Tags to apply when adding a book:" @@ -8760,7 +8848,7 @@ msgstr "Použitelné tagy při přidávání knihy:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:154 msgid "Reset all disabled &confirmation dialogs" -msgstr "" +msgstr "Vyresetovat všechny zakázané potvrzovací dialogy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/behavior_ui.py:155 msgid "Preferred &input format order:" @@ -8772,7 +8860,7 @@ msgstr "Použít interní &prohlížeč pro:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:96 msgid "You must select a column to delete it" -msgstr "" +msgstr "Musíte vybrat sloupec pro odstranění" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/columns.py:101 msgid "The selected column is not a custom column" @@ -8832,7 +8920,7 @@ msgstr "Dlouhý text, jako jsou komentáře, není zobrazen v prohlížeči tag #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:28 msgid "Text column for keeping series-like information" -msgstr "" +msgstr "Textový sloupec pro uchování informací o sériích" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:33 msgid "Floating point numbers" @@ -8864,7 +8952,7 @@ msgstr "Žádný sloupec nebyl označen" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:76 msgid "Selected column is not a user-defined column" -msgstr "" +msgstr "Označený sloupec není uživatelsky definovaný" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:111 msgid "No lookup name was provided" @@ -8896,12 +8984,12 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:156 msgid "You must enter a template for composite columns" -msgstr "" +msgstr "Musíte vložit šablonu pro kompozitní sloupce" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:127 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:147 msgid "Create or edit custom columns" -msgstr "" +msgstr "Vytvořit nebo editovat uživatelsky definované sloupce" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:128 msgid "&Lookup name" @@ -8909,7 +8997,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:129 msgid "Column &heading" -msgstr "" +msgstr "Hlavička sloupce" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:130 msgid "" @@ -8943,7 +9031,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:140 msgid "Use MMM yyyy for month + year, yyyy for year only" -msgstr "" +msgstr "Použijte MMM yyy pro měsíc + rok, yyyy pouze pro rok" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:141 msgid "Default: dd MMM yyyy." @@ -8963,7 +9051,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:145 msgid "Default: (nothing)" -msgstr "" +msgstr "Výchozí: (nic)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:146 msgid "&Template" @@ -8987,6 +9075,9 @@ msgid "" "automatically sent for downloaded news to all email addresses that have Auto-" "send checked." msgstr "" +"Calibre Vám (nebo do Vaší čtečky) může zaslat knihy e-mailem. Emaily budou " +"automaticky odeslány na všechny emailové adresy, které mají zaškrtnuté " +"automatické odeslání." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/email_ui.py:67 msgid "Add an email address to which to send books" @@ -9099,7 +9190,7 @@ msgstr "Zablokovat oznámení v systémové liště" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:115 msgid "Use &Roman numerals for series" -msgstr "" +msgstr "Použít římské číslice pro série" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/look_feel_ui.py:116 msgid "Show cover &browser in a separate window (needs restart)" @@ -9125,39 +9216,43 @@ msgstr "Zobrazit text pod ikonami:" msgid "&Split the toolbar into two toolbars" msgstr "Rozdělit nástrojovou lištu do dvou lišt." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "Použít" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Obnovit výchozí hodnoty" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Ulož změny" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Zrušit a vrátit se na přehled" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Obnova do výchozích hodnot není podporována pro" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." msgstr "" +"Některé provedené změny vyžadují restart. Prosím, restartujte Calibre co " +"nejdříve." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." msgstr "" +"Změny, které jste vykonali, vyžadují restartování calibre. Nebudete moci " +"změnit žádné další nastavení, dokud calibre nerestartujete." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Vyžadován restart" @@ -9214,6 +9309,8 @@ msgid "" "That format and device already has a plugboard or conflicts with another " "plugboard." msgstr "" +"Tento formát a zařízení již má plugboard, nebo je v konfliktu s jiným " +"plugboardem" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard.py:240 msgid "Invalid destination" @@ -9253,15 +9350,15 @@ msgstr "Zařízení (zvolte jako druhé)" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:123 msgid "Add new plugboard" -msgstr "" +msgstr "Přidat nový plugboard" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:124 msgid "Edit existing plugboard" -msgstr "" +msgstr "Editovat existující plugboard" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:125 msgid "Existing plugboards" -msgstr "" +msgstr "Existující plugboardy" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:126 msgid "Source template" @@ -9273,15 +9370,15 @@ msgstr "Cílové pole" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:128 msgid "Save plugboard" -msgstr "" +msgstr "Ulož plugboard" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugboard_ui.py:129 msgid "Delete plugboard" -msgstr "" +msgstr "Smaž plugboard" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:100 msgid "%(plugin_type)s %(plugins)s" -msgstr "" +msgstr "%(plugin_type)s %(plugins)s" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:101 msgid "plugins" @@ -9368,7 +9465,7 @@ msgstr "Přid&at" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:33 msgid "Any custom field" -msgstr "" +msgstr "Libovolné pole" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/save_template.py:34 msgid "The lookup name of any custom field. These names begin with \"#\")" @@ -9470,7 +9567,7 @@ msgid "" 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:331 msgid "Failed to start content server" msgstr "Nepodařilo se spustit obdahový server" @@ -9512,7 +9609,7 @@ msgstr "Max. velikost &obálek:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:131 msgid "Max. &OPDS items per query:" -msgstr "" +msgstr "Maximum OPDS položek v dotaze:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:132 msgid "Max. OPDS &ungrouped items:" @@ -9648,7 +9745,7 @@ msgstr "Odebrat označené akce z lišty" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:43 msgid "Invalid tweaks" -msgstr "" +msgstr "Neplatné vychytávky" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks.py:44 msgid "" @@ -9661,14 +9758,16 @@ msgid "" "Values for the tweaks are shown below. Edit them to change the behavior of " "calibre. Your changes will only take effect after a restart of calibre." msgstr "" +"Hodnoty pro vylepšení jsou uvedeny níže. Úpravou změníte chování Calibre. " +"Vaše změny se projeví až po restartu Calibre." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:51 msgid "All available tweaks" -msgstr "" +msgstr "Všechny dostupné vychytávky" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:52 msgid "&Current tweaks" -msgstr "" +msgstr "Aktuální vychytávky" #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:97 #: /home/kovid/work/calibre/src/calibre/gui2/search_box.py:270 @@ -9815,7 +9914,7 @@ msgid "" msgstr "Změna metadat pro tak mnoho knih bude trvat dlouho. Jste si jisti?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Hledání" @@ -9906,28 +10005,28 @@ msgstr "" "Následující knihy již byly převedeny do %s formátu. Přejete si je " "překonvertovat?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Obnovit" -#: /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 "&Přispějte na vývoj calibre." -#: /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 "&Vysunout připojené zařízení" -#: /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:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Chyba převodu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

Could not convert: %s

It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -9935,37 +10034,37 @@ msgstr "" "

Nelze převést: %s

Kniha je chráněna pomocí DRM. " "Před převodem nejprve musíte odstranit DRM pomocí nástroje třetí strany." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Zdroj zakázán" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Selhalo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Prpbíha zpracování úloh. Opravdu chcete program ukončit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 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:550 msgid "WARNING: Active jobs" msgstr "UPOZORNĚNÍ: Probíhá zpracování úloh." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10150,7 +10249,7 @@ msgid "Options to customize the ebook viewer" msgstr "Možnosti úpravy prohlížeče elektronických knih" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Zapamatuj si posledně použitou velikost okna" @@ -10209,36 +10308,36 @@ msgstr "" msgid "The standard font type" msgstr "Standardní typ fontu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "Podívat do slovníku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Přejít na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Další sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Předchozí sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Začátek dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Konec dokumentu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Začátek sekce" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Konec sekce" @@ -10306,87 +10405,87 @@ msgstr "Jít na odkaz. K získání odkazujících čísel použijte reference m msgid "Search for text in book" msgstr "Hledat text v knize" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Náhled tisku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Vyberte elektronickou knihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Elektronické knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "Nenalezena shoda pro: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Načítam tok..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Záložka #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Přidat záložku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Zadejte název záložky:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Spravovat záložky" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Načítám knihu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "DRM Error" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

This book is protected by DRM" msgstr "

Tato kniha je chráněna DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "Nemohu otevřít eknihu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Volby ke kontrole prohlížeče ebooků" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "Pokud specifikováno, okno prohlížeče se zobrazí po startu v popředí." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Pokud je zadáno, pokusí se při spuštění otevřít okno prohlížeče na celou " "obrazovku." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Tisknout upozornění javascriptu a konzolové zprávy do konzole" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -10499,62 +10598,62 @@ msgstr "Skrýt" #: /home/kovid/work/calibre/src/calibre/gui2/widgets.py:937 msgid "Toggle" -msgstr "" +msgstr "Přepínač" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Nezapomeňte nechat calibre běžet. Server běží pouze pokud běží calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Přesouvám knihovnu..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Přesun knihovny selhal" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Neplatná databáze" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

An invalid library already exists at %s, delete it before trying to move " "the existing library.
Error: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Nemohu přesunout knihovnu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Označ lokace pro knihy" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "Musíte zvolit prázdnou složku pro calibre knihovnu. %s není prázdná." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "uvítací průvodce" @@ -10639,11 +10738,9 @@ msgstr "Zvolte &jazyk:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Zvolte lokaci pro Vaše knihy. Když přidáte knihy do calibre, budou " -"zkopírovány sem:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -10950,14 +11047,14 @@ msgid "" "Applies to: BIBTEX output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -10966,14 +11063,14 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -10982,7 +11079,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -10992,28 +11089,28 @@ msgstr "" "Výchozí: '%default'\n" "Aplikuje se na: ePub, MOBI výstupní formáty" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11022,7 +11119,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11032,7 +11129,7 @@ msgid "" "Applies to: ePub, MOBI output formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11042,7 +11139,7 @@ msgstr "" "Výchozí: '%default'\n" "Aplikuje se na: ePub, MOBI výstupní formáty" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -11618,31 +11715,31 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sPrůměrné hodnocení je %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Hlavní" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

Migrating old database to ebook library in %s

" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Kopírování %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Kontrola integrity SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Kontrola chybějících souborů." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "" @@ -11652,7 +11749,7 @@ msgstr "Hodnocení" #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:276 msgid "Title Sort" -msgstr "" +msgstr "Třídění titulů" #: /home/kovid/work/calibre/src/calibre/library/restore.py:125 msgid "Processed" @@ -11718,7 +11815,7 @@ msgstr "Calibre interní ID" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:56 msgid "Options to control saving to disk" -msgstr "" +msgstr "Možnosti ovládání ukládání na disk" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:62 msgid "" @@ -12096,7 +12193,7 @@ msgstr "Přidat nové formáty do existující knihy záznamů" #: /home/kovid/work/calibre/src/calibre/utils/config.py:723 msgid "Tags to apply to books added to the library" -msgstr "" +msgstr "Tagy pro aplikování do knih přidaných do knihovny" #: /home/kovid/work/calibre/src/calibre/utils/config.py:727 msgid "List of named saved searches" @@ -12104,7 +12201,7 @@ msgstr "Seznam uložených hledání" #: /home/kovid/work/calibre/src/calibre/utils/config.py:728 msgid "User-created tag browser categories" -msgstr "" +msgstr "Prohlížeč uživatelsky vytvořených kategorií tagů" #: /home/kovid/work/calibre/src/calibre/utils/config.py:730 msgid "How and when calibre updates metadata on the device." @@ -12282,9 +12379,9 @@ msgstr "Nepodařilo se navázat SSH spojení: " msgid "Failed to authenticate with server: %s" msgstr "Nepodařilo se ověřit se serverem: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" -msgstr "" +msgstr "Ovládání doručování e-mailů" #: /home/kovid/work/calibre/src/calibre/web/feeds/__init__.py:118 msgid "Unknown section" @@ -13897,6 +13994,13 @@ msgstr "Nestahovat kaskádové styly." #~ msgid "Password to access your calibre library. Username is " #~ msgstr "Heslo pro přístup do calibre knihovny. Uživatelské jméno je " +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Zvolte lokaci pro Vaše knihy. Když přidáte knihy do calibre, budou " +#~ "zkopírovány sem:" + #~ msgid "" #~ "Dont forget to enter your gmail username and password. You can sign up for a " #~ "free gmail account at http://gmail.com" From 2999279a51b3929352e0336702a2d23e098b6f45 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 22:40:04 -0700 Subject: [PATCH 20/80] E-book viewer: Load all hyphenation patterns to support multi-lingual books --- resources/viewer/hyphenate/Hyphenator.js | 5 +++-- src/calibre/gui2/viewer/documentview.py | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/resources/viewer/hyphenate/Hyphenator.js b/resources/viewer/hyphenate/Hyphenator.js index 0296bb5053..657246d9c3 100644 --- a/resources/viewer/hyphenate/Hyphenator.js +++ b/resources/viewer/hyphenate/Hyphenator.js @@ -2022,7 +2022,8 @@ var Hyphenator = (function (window) { if (n.nodeType === 3 && n.data.length >= min) { //type 3 = #text -> hyphenate! n.data = n.data.replace(Hyphenator.languages[lang].genRegExp, hyphenate); } else if (n.nodeType === 1) { - if (n.lang !== '') { + // Modified by Kovid to use element lang only if it has been loaded + if (n.lang !== '' && Hyphenator.languages.hasOwnProperty(n.lang)) { Hyphenator.hyphenate(n, n.lang); } else { Hyphenator.hyphenate(n, lang); @@ -2139,4 +2140,4 @@ if (Hyphenator.isBookmarklet()) { Hyphenator.config({displaytogglebox: true, intermediatestate: 'visible', doframes: true}); Hyphenator.config(Hyphenator.getConfigFromURI()); Hyphenator.run(); -} \ No newline at end of file +} diff --git a/src/calibre/gui2/viewer/documentview.py b/src/calibre/gui2/viewer/documentview.py index 74224ccb44..92c06a47f0 100644 --- a/src/calibre/gui2/viewer/documentview.py +++ b/src/calibre/gui2/viewer/documentview.py @@ -23,7 +23,8 @@ from calibre.constants import iswindows from calibre import prints, guess_type from calibre.gui2.viewer.keys import SHORTCUTS -bookmarks = referencing = hyphenation = jquery = jquery_scrollTo = hyphenator = images =None +bookmarks = referencing = hyphenation = jquery = jquery_scrollTo = \ + hyphenator = images = hyphen_pats = None def load_builtin_fonts(): base = P('fonts/liberation/*.ttf') @@ -202,7 +203,8 @@ class Document(QWebPage): self.loaded_javascript = False def load_javascript_libraries(self): - global bookmarks, referencing, hyphenation, jquery, jquery_scrollTo, hyphenator, images + global bookmarks, referencing, hyphenation, jquery, jquery_scrollTo, \ + hyphenator, images, hyphen_pats if self.loaded_javascript: return self.loaded_javascript = True @@ -234,12 +236,19 @@ class Document(QWebPage): return l.lower().replace('_', '-') if hyphenator is None: hyphenator = P('viewer/hyphenate/Hyphenator.js', data=True).decode('utf-8') - self.javascript(hyphenator) + if hyphen_pats is None: + hyphen_pats = [] + for x in glob.glob(P('viewer/hyphenate/patterns/*.js', + allow_user_override=False)): + with open(x, 'rb') as f: + hyphen_pats.append(f.read().decode('utf-8')) + hyphen_pats = u'\n'.join(hyphen_pats) + + self.javascript(hyphenator+hyphen_pats) p = P('viewer/hyphenate/patterns/%s.js'%lang_name(lang)) if not os.path.exists(p): lang = default_lang p = P('viewer/hyphenate/patterns/%s.js'%lang_name(lang)) - self.javascript(open(p, 'rb').read().decode('utf-8')) self.loaded_lang = lang_name(lang) @pyqtSignature("") From ac8dc12785d2bbd693bbf129ee93e99cbe315c48 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 22:59:26 -0700 Subject: [PATCH 21/80] E-mail sending: calibre will now send atmost one email every minute. ALso if sending an email fails, it will be automatically retired once, after a minute. Finally, email sending is now a normal job and can be viewed in the jobs list. Fixes #2473 (Feature request: Show email sending as job in queue) --- src/calibre/gui2/device.py | 217 +-------- src/calibre/gui2/email.py | 321 ++++++++++++++ src/calibre/gui2/jobs.py | 15 +- src/calibre/gui2/ui.py | 8 +- src/calibre/utils/smtp.py | 21 +- src/calibre/utils/smtplib.py | 826 +++++++++++++++++++++++++++++++++++ 6 files changed, 1181 insertions(+), 227 deletions(-) create mode 100644 src/calibre/gui2/email.py create mode 100755 src/calibre/utils/smtplib.py diff --git a/src/calibre/gui2/device.py b/src/calibre/gui2/device.py index 048b6e6235..008649f534 100644 --- a/src/calibre/gui2/device.py +++ b/src/calibre/gui2/device.py @@ -3,11 +3,8 @@ __license__ = 'GPL v3' __copyright__ = '2008, Kovid Goyal ' # Imports {{{ -import os, traceback, Queue, time, socket, cStringIO, re, sys -from threading import Thread, RLock -from itertools import repeat -from functools import partial -from binascii import unhexlify +import os, traceback, Queue, time, cStringIO, re, sys +from threading import Thread from PyQt4.Qt import QMenu, QAction, QActionGroup, QIcon, SIGNAL, \ Qt, pyqtSignal, QDialog, QMessageBox @@ -25,8 +22,6 @@ from calibre.ebooks.metadata import authors_to_string from calibre import preferred_encoding, prints, force_unicode from calibre.utils.filenames import ascii_filename from calibre.devices.errors import FreeSpaceError -from calibre.utils.smtp import compose_mail, sendmail, extract_email_address, \ - config as email_config from calibre.devices.apple.driver import ITUNES_ASYNC from calibre.devices.folder_device.driver import FOLDER_DEVICE from calibre.ebooks.metadata.meta import set_metadata @@ -591,64 +586,6 @@ class DeviceMenu(QMenu): # {{{ # }}} -class Emailer(Thread): # {{{ - - def __init__(self, timeout=60): - Thread.__init__(self) - self.setDaemon(True) - self.job_lock = RLock() - self.jobs = [] - self._run = True - self.timeout = timeout - - def run(self): - while self._run: - job = None - with self.job_lock: - if self.jobs: - job = self.jobs[0] - self.jobs = self.jobs[1:] - if job is not None: - self._send_mails(*job) - time.sleep(1) - - def stop(self): - self._run = False - - def send_mails(self, jobnames, callback, attachments, to_s, subjects, - texts, attachment_names): - job = (jobnames, callback, attachments, to_s, subjects, texts, - attachment_names) - with self.job_lock: - self.jobs.append(job) - - def _send_mails(self, jobnames, callback, attachments, - to_s, subjects, texts, attachment_names): - opts = email_config().parse() - opts.verbose = 3 if os.environ.get('CALIBRE_DEBUG_EMAIL', False) else 0 - from_ = opts.from_ - if not from_: - from_ = 'calibre ' - results = [] - for i, jobname in enumerate(jobnames): - try: - msg = compose_mail(from_, to_s[i], texts[i], subjects[i], - open(attachments[i], 'rb'), - attachment_name = attachment_names[i]) - efrom, eto = map(extract_email_address, (from_, to_s[i])) - eto = [eto] - sendmail(msg, efrom, eto, localhost=None, - verbose=opts.verbose, - timeout=self.timeout, relay=opts.relay_host, - username=opts.relay_username, - password=unhexlify(opts.relay_password), port=opts.relay_port, - encryption=opts.encryption) - results.append([jobname, None, None]) - except Exception, e: - results.append([jobname, e, traceback.format_exc()]) - callback(results) - - # }}} class DeviceMixin(object): # {{{ @@ -656,8 +593,6 @@ class DeviceMixin(object): # {{{ self.device_error_dialog = error_dialog(self, _('Error'), _('Error communicating with device'), ' ') self.device_error_dialog.setModal(Qt.NonModal) - self.emailer = Emailer() - self.emailer.start() self.device_manager = DeviceManager(Dispatcher(self.device_detected), self.job_manager, Dispatcher(self.status_bar.show_message)) self.device_manager.start() @@ -911,124 +846,6 @@ class DeviceMixin(object): # {{{ fmts = [x.strip().lower() for x in fmts.split(',')] self.send_by_mail(to, fmts, delete) - def send_by_mail(self, to, fmts, delete_from_library, send_ids=None, - do_auto_convert=True, specific_format=None): - ids = [self.library_view.model().id(r) for r in self.library_view.selectionModel().selectedRows()] if send_ids is None else send_ids - if not ids or len(ids) == 0: - return - files, _auto_ids = self.library_view.model().get_preferred_formats_from_ids(ids, - fmts, set_metadata=True, - specific_format=specific_format, - exclude_auto=do_auto_convert) - if do_auto_convert: - nids = list(set(ids).difference(_auto_ids)) - ids = [i for i in ids if i in nids] - else: - _auto_ids = [] - - full_metadata = self.library_view.model().metadata_for(ids) - - bad, remove_ids, jobnames = [], [], [] - texts, subjects, attachments, attachment_names = [], [], [], [] - for f, mi, id in zip(files, full_metadata, ids): - t = mi.title - if not t: - t = _('Unknown') - if f is None: - bad.append(t) - else: - remove_ids.append(id) - jobnames.append(u'%s:%s'%(id, t)) - attachments.append(f) - subjects.append(_('E-book:')+ ' '+t) - a = authors_to_string(mi.authors if mi.authors else \ - [_('Unknown')]) - texts.append(_('Attached, you will find the e-book') + \ - '\n\n' + t + '\n\t' + _('by') + ' ' + a + '\n\n' + \ - _('in the %s format.') % - os.path.splitext(f)[1][1:].upper()) - prefix = ascii_filename(t+' - '+a) - if not isinstance(prefix, unicode): - prefix = prefix.decode(preferred_encoding, 'replace') - attachment_names.append(prefix + os.path.splitext(f)[1]) - remove = remove_ids if delete_from_library else [] - - to_s = list(repeat(to, len(attachments))) - if attachments: - self.emailer.send_mails(jobnames, - Dispatcher(partial(self.emails_sent, remove=remove)), - attachments, to_s, subjects, texts, attachment_names) - self.status_bar.show_message(_('Sending email to')+' '+to, 3000) - - auto = [] - if _auto_ids != []: - for id in _auto_ids: - if specific_format == None: - formats = [f.lower() for f in self.library_view.model().db.formats(id, index_is_id=True).split(',')] - formats = formats if formats != None else [] - if list(set(formats).intersection(available_input_formats())) != [] and list(set(fmts).intersection(available_output_formats())) != []: - auto.append(id) - else: - bad.append(self.library_view.model().db.title(id, index_is_id=True)) - else: - if specific_format in list(set(fmts).intersection(set(available_output_formats()))): - auto.append(id) - else: - bad.append(self.library_view.model().db.title(id, index_is_id=True)) - - if auto != []: - format = specific_format if specific_format in list(set(fmts).intersection(set(available_output_formats()))) else None - if not format: - for fmt in fmts: - if fmt in list(set(fmts).intersection(set(available_output_formats()))): - format = fmt - break - if format is None: - bad += auto - else: - autos = [self.library_view.model().db.title(id, index_is_id=True) for id in auto] - if self.auto_convert_question( - _('Auto convert the following books before sending via ' - 'email?'), autos): - self.iactions['Convert Books'].auto_convert_mail(to, fmts, delete_from_library, auto, format) - - if bad: - bad = '\n'.join('%s'%(i,) for i in bad) - d = warning_dialog(self, _('No suitable formats'), - _('Could not email the following books ' - 'as no suitable formats were found:'), bad) - d.exec_() - - def emails_sent(self, results, remove=[]): - errors, good = [], [] - for jobname, exception, tb in results: - title = jobname.partition(':')[-1] - if exception is not None: - errors.append(list(map(force_unicode, [title, exception, tb]))) - else: - good.append(title) - if errors: - errors = u'\n'.join([ - u'%s\n\n%s\n%s\n' % - (title, e, tb) for \ - title, e, tb in errors - ]) - error_dialog(self, _('Failed to email books'), - _('Failed to email the following books:'), - '%s'%errors, show=True - ) - else: - self.status_bar.show_message(_('Sent by email:') + ', '.join(good), - 5000) - if remove: - try: - self.library_view.model().delete_books_by_id(remove) - except: - # Probably the user deleted the files, in any case, failing - # to delete the book is not catastrophic - traceback.print_exc() - - def cover_to_thumbnail(self, data): ht = self.device_manager.device.THUMBNAIL_HEIGHT \ if self.device_manager else DevicePlugin.THUMBNAIL_HEIGHT @@ -1037,36 +854,6 @@ class DeviceMixin(object): # {{{ except: pass - def email_news(self, id): - opts = email_config().parse() - accounts = [(account, [x.strip().lower() for x in x[0].split(',')]) - for account, x in opts.accounts.items() if x[1]] - sent_mails = [] - for account, fmts in accounts: - files, auto = self.library_view.model().\ - get_preferred_formats_from_ids([id], fmts) - files = [f for f in files if f is not None] - if not files: - continue - attachment = files[0] - mi = self.library_view.model().db.get_metadata(id, - index_is_id=True) - to_s = [account] - subjects = [_('News:')+' '+mi.title] - texts = [_('Attached is the')+' '+mi.title] - attachment_names = [ascii_filename(mi.title)+os.path.splitext(attachment)[1]] - attachments = [attachment] - jobnames = ['%s:%s'%(id, mi.title)] - remove = [id] if config['delete_news_from_library_on_upload']\ - else [] - self.emailer.send_mails(jobnames, - Dispatcher(partial(self.emails_sent, remove=remove)), - attachments, to_s, subjects, texts, attachment_names) - sent_mails.append(to_s[0]) - if sent_mails: - self.status_bar.show_message(_('Sent news to')+' '+\ - ', '.join(sent_mails), 3000) - def sync_catalogs(self, send_ids=None, do_auto_convert=True): if self.device_connected: settings = self.device_manager.device.settings() diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py new file mode 100644 index 0000000000..bfd9f76470 --- /dev/null +++ b/src/calibre/gui2/email.py @@ -0,0 +1,321 @@ +#!/usr/bin/env python +# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:ai +from __future__ import print_function + +__license__ = 'GPL v3' +__copyright__ = '2010, Kovid Goyal ' +__docformat__ = 'restructuredtext en' + +import os, socket, time, cStringIO +from threading import Thread +from Queue import Queue +from binascii import unhexlify +from functools import partial +from itertools import repeat + +from calibre.utils.smtp import compose_mail, sendmail, extract_email_address, \ + config as email_config +from calibre.utils.filenames import ascii_filename +from calibre.utils.ipc.job import BaseJob +from calibre.ptempfile import PersistentTemporaryFile +from calibre.customize.ui import available_input_formats, available_output_formats +from calibre.ebooks.metadata import authors_to_string +from calibre.constants import preferred_encoding +from calibre.gui2 import config, Dispatcher, warning_dialog + +class EmailJob(BaseJob): # {{{ + + def __init__(self, callback, description, attachment, aname, to, subject, text, job_manager): + BaseJob.__init__(self, description) + self.exception = None + self.job_manager = job_manager + self.email_args = (attachment, aname, to, subject, text) + self.email_sent_callback = callback + self.log_path = None + self._log_file = cStringIO.StringIO() + self._log_file.write(self.description.encode('utf-8') + '\n') + + @property + def log_file(self): + if self.log_path is not None: + return open(self.log_path, 'rb') + return cStringIO.StringIO(self._log_file.getvalue()) + + def start_work(self): + self.start_time = time.time() + self.job_manager.changed_queue.put(self) + + def job_done(self): + self.duration = time.time() - self.start_time + self.percent = 1 + # Dump log onto disk + lf = PersistentTemporaryFile('email_log') + lf.write(self._log_file.getvalue()) + lf.close() + self.log_path = lf.name + self._log_file.close() + self._log_file = None + + self.job_manager.changed_queue.put(self) + + def log_write(self, what): + self._log_file.write(what) + +# }}} + +class Emailer(Thread): # {{{ + + MAX_RETRIES = 1 + RATE_LIMIT = 65 # seconds between connections to the SMTP server + + def __init__(self, job_manager): + Thread.__init__(self) + self.daemon = True + self.jobs = Queue() + self.job_manager = job_manager + self._run = True + self.last_send_time = time.time() - self.RATE_LIMIT + + def stop(self): + self._run = False + self.jobs.put(None) + + def run(self): + while self._run: + try: + job = self.jobs.get() + except: + break + if job is None or not self._run: + break + try_count = 0 + failed, exc = False, None + job.start_work() + if job.kill_on_start: + job.log_write('Aborted\n') + job.failed = failed + job.killed = True + job.job_done() + continue + + while try_count <= self.MAX_RETRIES: + failed = False + if try_count > 0: + job.log_write('\nRetrying in %d seconds...\n' % + self.RATE_LIMIT) + try: + self.sendmail(job) + break + except Exception, e: + if not self._run: + return + import traceback + failed = True + exc = e + job.log_write('\nSending failed...\n') + job.log_write(traceback.format_exc()) + + try_count += 1 + + if not self._run: + break + + job.failed = failed + job.exception = exc + job.job_done() + job.email_sent_callback(job) + + def send_mails(self, jobnames, callback, attachments, to_s, subjects, + texts, attachment_names): + for name, attachment, to, subject, text, aname in zip(jobnames, + attachments, to_s, subjects, texts, attachment_names): + description = _('Email %s to %s') % (name, to) + job = EmailJob(callback, description, attachment, aname, to, + subject, text, self.job_manager) + self.job_manager.add_job(job) + self.jobs.put(job) + + def sendmail(self, job): + while time.time() - self.last_send_time <= self.RATE_LIMIT: + time.sleep(1) + try: + opts = email_config().parse() + from_ = opts.from_ + if not from_: + from_ = 'calibre ' + attachment, aname, to, subject, text = job.email_args + msg = compose_mail(from_, to, text, subject, open(attachment, 'rb'), + aname) + efrom, eto = map(extract_email_address, (from_, to)) + eto = [eto] + sendmail(msg, efrom, eto, localhost=None, + verbose=1, + relay=opts.relay_host, + username=opts.relay_username, + password=unhexlify(opts.relay_password), port=opts.relay_port, + encryption=opts.encryption, + debug_output=partial(print, file=job._log_file)) + finally: + self.last_send_time = time.time() + + def email_news(self, mi, remove, get_fmts, done): + opts = email_config().parse() + accounts = [(account, [x.strip().lower() for x in x[0].split(',')]) + for account, x in opts.accounts.items() if x[1]] + sent_mails = [] + for i, x in enumerate(accounts): + account, fmts = x + files = get_fmts(fmts) + files = [f for f in files if f is not None] + if not files: + continue + attachment = files[0] + to_s = [account] + subjects = [_('News:')+' '+mi.title] + texts = [ + _('Attached is the %s periodical downloaded by calibre.') + % (mi.title,) + ] + attachment_names = [ascii_filename(mi.title)+os.path.splitext(attachment)[1]] + attachments = [attachment] + jobnames = [mi.title] + do_remove = [] + if i == len(accounts) - 1: + do_remove = remove + self.send_mails(jobnames, + Dispatcher(partial(done, remove=do_remove)), + attachments, to_s, subjects, texts, attachment_names) + sent_mails.append(to_s[0]) + return sent_mails + + +# }}} + + +class EmailMixin(object): # {{{ + + def __init__(self): + self.emailer = Emailer(self.job_manager) + self.emailer.start() + + def send_by_mail(self, to, fmts, delete_from_library, send_ids=None, + do_auto_convert=True, specific_format=None): + ids = [self.library_view.model().id(r) for r in self.library_view.selectionModel().selectedRows()] if send_ids is None else send_ids + if not ids or len(ids) == 0: + return + files, _auto_ids = self.library_view.model().get_preferred_formats_from_ids(ids, + fmts, set_metadata=True, + specific_format=specific_format, + exclude_auto=do_auto_convert) + if do_auto_convert: + nids = list(set(ids).difference(_auto_ids)) + ids = [i for i in ids if i in nids] + else: + _auto_ids = [] + + full_metadata = self.library_view.model().metadata_for(ids) + + bad, remove_ids, jobnames = [], [], [] + texts, subjects, attachments, attachment_names = [], [], [], [] + for f, mi, id in zip(files, full_metadata, ids): + t = mi.title + if not t: + t = _('Unknown') + if f is None: + bad.append(t) + else: + remove_ids.append(id) + jobnames.append(t) + attachments.append(f) + subjects.append(_('E-book:')+ ' '+t) + a = authors_to_string(mi.authors if mi.authors else \ + [_('Unknown')]) + texts.append(_('Attached, you will find the e-book') + \ + '\n\n' + t + '\n\t' + _('by') + ' ' + a + '\n\n' + \ + _('in the %s format.') % + os.path.splitext(f)[1][1:].upper()) + prefix = ascii_filename(t+' - '+a) + if not isinstance(prefix, unicode): + prefix = prefix.decode(preferred_encoding, 'replace') + attachment_names.append(prefix + os.path.splitext(f)[1]) + remove = remove_ids if delete_from_library else [] + + to_s = list(repeat(to, len(attachments))) + if attachments: + self.emailer.send_mails(jobnames, + Dispatcher(partial(self.email_sent, remove=remove)), + attachments, to_s, subjects, texts, attachment_names) + self.status_bar.show_message(_('Sending email to')+' '+to, 3000) + + auto = [] + if _auto_ids != []: + for id in _auto_ids: + if specific_format == None: + formats = [f.lower() for f in self.library_view.model().db.formats(id, index_is_id=True).split(',')] + formats = formats if formats != None else [] + if list(set(formats).intersection(available_input_formats())) != [] and list(set(fmts).intersection(available_output_formats())) != []: + auto.append(id) + else: + bad.append(self.library_view.model().db.title(id, index_is_id=True)) + else: + if specific_format in list(set(fmts).intersection(set(available_output_formats()))): + auto.append(id) + else: + bad.append(self.library_view.model().db.title(id, index_is_id=True)) + + if auto != []: + format = specific_format if specific_format in list(set(fmts).intersection(set(available_output_formats()))) else None + if not format: + for fmt in fmts: + if fmt in list(set(fmts).intersection(set(available_output_formats()))): + format = fmt + break + if format is None: + bad += auto + else: + autos = [self.library_view.model().db.title(id, index_is_id=True) for id in auto] + if self.auto_convert_question( + _('Auto convert the following books before sending via ' + 'email?'), autos): + self.iactions['Convert Books'].auto_convert_mail(to, fmts, delete_from_library, auto, format) + + if bad: + bad = '\n'.join('%s'%(i,) for i in bad) + d = warning_dialog(self, _('No suitable formats'), + _('Could not email the following books ' + 'as no suitable formats were found:'), bad) + d.exec_() + + def email_sent(self, job, remove=[]): + if job.failed: + self.job_exception(job, dialog_title=_('Failed to email book')) + return + + self.status_bar.show_message(job.description + ' ' + _('sent'), + 5000) + if remove: + try: + self.library_view.model().delete_books_by_id(remove) + except: + import traceback + # Probably the user deleted the files, in any case, failing + # to delete the book is not catastrophic + traceback.print_exc() + + def email_news(self, id_): + mi = self.library_view.model().db.get_metadata(id_, + index_is_id=True) + remove = [id_] if config['delete_news_from_library_on_upload'] \ + else [] + def get_fmts(fmts): + files, auto = self.library_view.model().\ + get_preferred_formats_from_ids([id_], fmts) + return files + sent_mails = self.emailer.email_news(mi, remove, + get_fmts, self.email_sent) + if sent_mails: + self.status_bar.show_message(_('Sent news to')+' '+\ + ', '.join(sent_mails), 3000) + +# }}} + diff --git a/src/calibre/gui2/jobs.py b/src/calibre/gui2/jobs.py index 8a63b6fac5..a2bd8e4492 100644 --- a/src/calibre/gui2/jobs.py +++ b/src/calibre/gui2/jobs.py @@ -221,16 +221,27 @@ class JobManager(QAbstractTableModel): if job.duration is not None: return error_dialog(view, _('Cannot kill job'), _('Job has already run')).exec_() - self.server.kill_job(job) + if isinstance(job, ParallelJob): + self.server.kill_job(job) + else: + job.kill_on_start = True def kill_all_jobs(self): for job in self.jobs: if isinstance(job, DeviceJob) or job.duration is not None: continue - self.server.kill_job(job) + if isinstance(job, ParallelJob): + self.server.kill_job(job) + else: + job.kill_on_start = True def terminate_all_jobs(self): self.server.killall() + for job in self.jobs: + if isinstance(job, DeviceJob) or job.duration is not None: + continue + if not isinstance(job, ParallelJob): + job.kill_on_start = True class ProgressBarDelegate(QAbstractItemDelegate): diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 13bba4f27c..bd0743e819 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -34,6 +34,7 @@ from calibre.gui2.update import UpdateMixin from calibre.gui2.main_window import MainWindow from calibre.gui2.layout import MainWindowMixin from calibre.gui2.device import DeviceMixin +from calibre.gui2.email import EmailMixin from calibre.gui2.jobs import JobManager, JobsDialog, JobsButton from calibre.gui2.init import LibraryViewMixin, LayoutMixin from calibre.gui2.search_box import SearchBoxMixin, SavedSearchBoxMixin @@ -88,7 +89,7 @@ class SystemTrayIcon(QSystemTrayIcon): # {{{ # }}} -class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ +class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ TagBrowserMixin, CoverFlowMixin, LibraryViewMixin, SearchBoxMixin, SavedSearchBoxMixin, SearchRestrictionMixin, LayoutMixin, UpdateMixin ): @@ -141,6 +142,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ # }}} LayoutMixin.__init__(self) + EmailMixin.__init__(self) DeviceMixin.__init__(self) self.restriction_count_of_books_in_view = 0 @@ -434,7 +436,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ - def job_exception(self, job): + def job_exception(self, job, dialog_title=_('Conversion Error')): if not hasattr(self, '_modeless_dialogs'): self._modeless_dialogs = [] minz = self.is_minimized_to_tray @@ -475,7 +477,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ except: pass if not minz: - d = error_dialog(self, _('Conversion Error'), + d = error_dialog(self, dialog_title, _('Failed')+': '+unicode(job.description), det_msg=job.details) d.setModal(False) diff --git a/src/calibre/utils/smtp.py b/src/calibre/utils/smtp.py index 4b7ec3f0a3..69d790177f 100644 --- a/src/calibre/utils/smtp.py +++ b/src/calibre/utils/smtp.py @@ -58,11 +58,15 @@ def get_mx(host, verbose=0): int(getattr(y, 'preference', sys.maxint)))) return [str(x.exchange) for x in answers if hasattr(x, 'exchange')] -def sendmail_direct(from_, to, msg, timeout, localhost, verbose): - import smtplib +def sendmail_direct(from_, to, msg, timeout, localhost, verbose, + debug_output=None): + import calibre.utils.smtplib as smtplib hosts = get_mx(to.split('@')[-1].strip(), verbose) timeout=None # Non blocking sockets sometimes don't work - s = smtplib.SMTP(timeout=timeout, local_hostname=localhost) + kwargs = dict(timeout=timeout, local_hostname=localhost) + if debug_output is not None: + kwargs['debug_to'] = debug_output + s = smtplib.SMTP(**kwargs) s.set_debuglevel(verbose) if not hosts: raise ValueError('No mail server found for address: %s'%to) @@ -79,17 +83,20 @@ def sendmail_direct(from_, to, msg, timeout, localhost, verbose): raise IOError('Failed to send mail: '+repr(last_error)) -def sendmail(msg, from_, to, localhost=None, verbose=0, timeout=30, +def sendmail(msg, from_, to, localhost=None, verbose=0, timeout=None, relay=None, username=None, password=None, encryption='TLS', - port=-1): + port=-1, debug_output=None): if relay is None: for x in to: return sendmail_direct(from_, x, msg, timeout, localhost, verbose) - import smtplib + import calibre.utils.smtplib as smtplib cls = smtplib.SMTP if encryption == 'TLS' else smtplib.SMTP_SSL timeout = None # Non-blocking sockets sometimes don't work port = int(port) - s = cls(timeout=timeout, local_hostname=localhost) + kwargs = dict(timeout=timeout, local_hostname=localhost) + if debug_output is not None: + kwargs['debug_to'] = debug_output + s = cls(**kwargs) s.set_debuglevel(verbose) if port < 0: port = 25 if encryption == 'TLS' else 465 diff --git a/src/calibre/utils/smtplib.py b/src/calibre/utils/smtplib.py new file mode 100755 index 0000000000..d6f3fb0b69 --- /dev/null +++ b/src/calibre/utils/smtplib.py @@ -0,0 +1,826 @@ +from __future__ import print_function + +'''SMTP/ESMTP client class. + +This should follow RFC 821 (SMTP), RFC 1869 (ESMTP), RFC 2554 (SMTP +Authentication) and RFC 2487 (Secure SMTP over TLS). + +Notes: + +Please remember, when doing ESMTP, that the names of the SMTP service +extensions are NOT the same thing as the option keywords for the RCPT +and MAIL commands! + +Example: + + >>> import smtplib + >>> s=smtplib.SMTP("localhost") + >>> print s.help() + This is Sendmail version 8.8.4 + Topics: + HELO EHLO MAIL RCPT DATA + RSET NOOP QUIT HELP VRFY + EXPN VERB ETRN DSN + For more info use "HELP ". + To report bugs in the implementation send email to + sendmail-bugs@sendmail.org. + For local information send email to Postmaster at your site. + End of HELP info + >>> s.putcmd("vrfy","someone@here") + >>> s.getreply() + (250, "Somebody OverHere ") + >>> s.quit() +''' + +# Author: The Dragon De Monsyne +# ESMTP support, test code and doc fixes added by +# Eric S. Raymond +# Better RFC 821 compliance (MAIL and RCPT, and CRLF in data) +# by Carey Evans , for picky mail servers. +# RFC 2554 (authentication) support by Gerhard Haering . +# Enhanced debugging support by Kovid Goyal +# +# This was modified from the Python 1.5 library HTTP lib. + +import socket +import re +import email.utils +import base64 +import hmac +import sys +from email.base64mime import encode as encode_base64 +from functools import partial + +__all__ = ["SMTPException","SMTPServerDisconnected","SMTPResponseException", + "SMTPSenderRefused","SMTPRecipientsRefused","SMTPDataError", + "SMTPConnectError","SMTPHeloError","SMTPAuthenticationError", + "quoteaddr","quotedata","SMTP"] + +SMTP_PORT = 25 +SMTP_SSL_PORT = 465 +CRLF="\r\n" + +OLDSTYLE_AUTH = re.compile(r"auth=(.*)", re.I) + +# Exception classes used by this module. +class SMTPException(Exception): + """Base class for all exceptions raised by this module.""" + +class SMTPServerDisconnected(SMTPException): + """Not connected to any SMTP server. + + This exception is raised when the server unexpectedly disconnects, + or when an attempt is made to use the SMTP instance before + connecting it to a server. + """ + +class SMTPResponseException(SMTPException): + """Base class for all exceptions that include an SMTP error code. + + These exceptions are generated in some instances when the SMTP + server returns an error code. The error code is stored in the + `smtp_code' attribute of the error, and the `smtp_error' attribute + is set to the error message. + """ + + def __init__(self, code, msg): + self.smtp_code = code + self.smtp_error = msg + self.args = (code, msg) + +class SMTPSenderRefused(SMTPResponseException): + """Sender address refused. + + In addition to the attributes set by on all SMTPResponseException + exceptions, this sets `sender' to the string that the SMTP refused. + """ + + def __init__(self, code, msg, sender): + self.smtp_code = code + self.smtp_error = msg + self.sender = sender + self.args = (code, msg, sender) + +class SMTPRecipientsRefused(SMTPException): + """All recipient addresses refused. + + The errors for each recipient are accessible through the attribute + 'recipients', which is a dictionary of exactly the same sort as + SMTP.sendmail() returns. + """ + + def __init__(self, recipients): + self.recipients = recipients + self.args = ( recipients,) + + +class SMTPDataError(SMTPResponseException): + """The SMTP server didn't accept the data.""" + +class SMTPConnectError(SMTPResponseException): + """Error during connection establishment.""" + +class SMTPHeloError(SMTPResponseException): + """The server refused our HELO reply.""" + +class SMTPAuthenticationError(SMTPResponseException): + """Authentication error. + + Most probably the server didn't accept the username/password + combination provided. + """ + +def quoteaddr(addr): + """Quote a subset of the email addresses defined by RFC 821. + + Should be able to handle anything rfc822.parseaddr can handle. + """ + m = (None, None) + try: + m = email.utils.parseaddr(addr)[1] + except AttributeError: + pass + if m == (None, None): # Indicates parse failure or AttributeError + # something weird here.. punt -ddm + return "<%s>" % addr + elif m is None: + # the sender wants an empty return address + return "<>" + else: + return "<%s>" % m + +def quotedata(data): + """Quote data for email. + + Double leading '.', and change Unix newline '\\n', or Mac '\\r' into + Internet CRLF end-of-line. + """ + return re.sub(r'(?m)^\.', '..', + re.sub(r'(?:\r\n|\n|\r(?!\n))', CRLF, data)) + + +try: + import ssl +except ImportError: + _have_ssl = False +else: + class SSLFakeFile: + """A fake file like object that really wraps a SSLObject. + + It only supports what is needed in smtplib. + """ + def __init__(self, sslobj): + self.sslobj = sslobj + + def readline(self): + str = "" + chr = None + while chr != "\n": + chr = self.sslobj.read(1) + if not chr: break + str += chr + return str + + def close(self): + pass + + _have_ssl = True + +class SMTP: + """This class manages a connection to an SMTP or ESMTP server. + SMTP Objects: + SMTP objects have the following attributes: + helo_resp + This is the message given by the server in response to the + most recent HELO command. + + ehlo_resp + This is the message given by the server in response to the + most recent EHLO command. This is usually multiline. + + does_esmtp + This is a True value _after you do an EHLO command_, if the + server supports ESMTP. + + esmtp_features + This is a dictionary, which, if the server supports ESMTP, + will _after you do an EHLO command_, contain the names of the + SMTP service extensions this server supports, and their + parameters (if any). + + Note, all extension names are mapped to lower case in the + dictionary. + + See each method's docstrings for details. In general, there is a + method of the same name to perform each SMTP command. There is also a + method called 'sendmail' that will do an entire mail transaction. + """ + debuglevel = 0 + file = None + helo_resp = None + ehlo_msg = "ehlo" + ehlo_resp = None + does_esmtp = 0 + + def __init__(self, host='', port=0, local_hostname=None, + timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + debug_to=partial(print, file=sys.stderr)): + """Initialize a new instance. + + If specified, `host' is the name of the remote host to which to + connect. If specified, `port' specifies the port to which to connect. + By default, smtplib.SMTP_PORT is used. An SMTPConnectError is raised + if the specified `host' doesn't respond correctly. If specified, + `local_hostname` is used as the FQDN of the local host. By default, + the local hostname is found using socket.getfqdn(). `debug_to` + specifies where debug output is written to. By default it is written to + sys.stderr. You should pass in a print function of your own to control + where debug output is written. + """ + self.timeout = timeout + self.debug = debug_to + self.esmtp_features = {} + self.default_port = SMTP_PORT + if host: + (code, msg) = self.connect(host, port) + if code != 220: + raise SMTPConnectError(code, msg) + if local_hostname is not None: + self.local_hostname = local_hostname + else: + # RFC 2821 says we should use the fqdn in the EHLO/HELO verb, and + # if that can't be calculated, that we should use a domain literal + # instead (essentially an encoded IP address like [A.B.C.D]). + fqdn = socket.getfqdn() + if '.' in fqdn: + self.local_hostname = fqdn + else: + # We can't find an fqdn hostname, so use a domain literal + addr = '127.0.0.1' + try: + addr = socket.gethostbyname(socket.gethostname()) + except socket.gaierror: + pass + self.local_hostname = '[%s]' % addr + + def set_debuglevel(self, debuglevel): + """Set the debug output level. + + A value of 0 means no debug logging. A value of 1 means all interaction + with the server is logged except that long lines are truncated to 100 + characters and AUTH messages are censored. A value of 2 or higher means + the complete session is logged. + + """ + self.debuglevel = debuglevel + + def _get_socket(self, port, host, timeout): + # This makes it simpler for SMTP_SSL to use the SMTP connect code + # and just alter the socket connection bit. + if self.debuglevel > 0: self.debug('connect:', (host, port)) + return socket.create_connection((port, host), timeout) + + def connect(self, host='localhost', port = 0): + """Connect to a host on a given port. + + If the hostname ends with a colon (`:') followed by a number, and + there is no port specified, that suffix will be stripped off and the + number interpreted as the port number to use. + + Note: This method is automatically invoked by __init__, if a host is + specified during instantiation. + + """ + if not port and (host.find(':') == host.rfind(':')): + i = host.rfind(':') + if i >= 0: + host, port = host[:i], host[i+1:] + try: port = int(port) + except ValueError: + raise socket.error, "nonnumeric port" + if not port: port = self.default_port + if self.debuglevel > 0: self.debug('connect:', (host, port)) + self.sock = self._get_socket(host, port, self.timeout) + (code, msg) = self.getreply() + if self.debuglevel > 0: self.debug("connect:", msg) + return (code, msg) + + def send(self, str): + """Send `str' to the server.""" + if self.debuglevel > 0: + raw = repr(str) + if self.debuglevel < 2: + if len(raw) > 100: + raw = raw[:100] + '...' + if 'AUTH' in raw: + raw = 'AUTH ' + self.debug('send:', raw) + if hasattr(self, 'sock') and self.sock: + try: + self.sock.sendall(str) + except socket.error: + self.close() + raise SMTPServerDisconnected('Server not connected') + else: + raise SMTPServerDisconnected('please run connect() first') + + def putcmd(self, cmd, args=""): + """Send a command to the server.""" + if args == "": + str = '%s%s' % (cmd, CRLF) + else: + str = '%s %s%s' % (cmd, args, CRLF) + self.send(str) + + def getreply(self): + """Get a reply from the server. + + Returns a tuple consisting of: + + - server response code (e.g. '250', or such, if all goes well) + Note: returns -1 if it can't read response code. + + - server response string corresponding to response code (multiline + responses are converted to a single, multiline string). + + Raises SMTPServerDisconnected if end-of-file is reached. + """ + resp=[] + if self.file is None: + self.file = self.sock.makefile('rb') + while 1: + try: + line = self.file.readline() + except socket.error: + line = '' + if line == '': + self.close() + raise SMTPServerDisconnected("Connection unexpectedly closed") + if self.debuglevel > 0: self.debug('reply:', repr(line)) + resp.append(line[4:].strip()) + code=line[:3] + # Check that the error code is syntactically correct. + # Don't attempt to read a continuation line if it is broken. + try: + errcode = int(code) + except ValueError: + errcode = -1 + break + # Check if multiline response. + if line[3:4]!="-": + break + + errmsg = "\n".join(resp) + if self.debuglevel > 0: + self.debug('reply: retcode (%s); Msg: %s' % (errcode,errmsg)) + return errcode, errmsg + + def docmd(self, cmd, args=""): + """Send a command, and return its response code.""" + self.putcmd(cmd,args) + return self.getreply() + + # std smtp commands + def helo(self, name=''): + """SMTP 'helo' command. + Hostname to send for this command defaults to the FQDN of the local + host. + """ + self.putcmd("helo", name or self.local_hostname) + (code,msg)=self.getreply() + self.helo_resp=msg + return (code,msg) + + def ehlo(self, name=''): + """ SMTP 'ehlo' command. + Hostname to send for this command defaults to the FQDN of the local + host. + """ + self.esmtp_features = {} + self.putcmd(self.ehlo_msg, name or self.local_hostname) + (code,msg)=self.getreply() + # According to RFC1869 some (badly written) + # MTA's will disconnect on an ehlo. Toss an exception if + # that happens -ddm + if code == -1 and len(msg) == 0: + self.close() + raise SMTPServerDisconnected("Server not connected") + self.ehlo_resp=msg + if code != 250: + return (code,msg) + self.does_esmtp=1 + #parse the ehlo response -ddm + resp=self.ehlo_resp.split('\n') + del resp[0] + for each in resp: + # To be able to communicate with as many SMTP servers as possible, + # we have to take the old-style auth advertisement into account, + # because: + # 1) Else our SMTP feature parser gets confused. + # 2) There are some servers that only advertise the auth methods we + # support using the old style. + auth_match = OLDSTYLE_AUTH.match(each) + if auth_match: + # This doesn't remove duplicates, but that's no problem + self.esmtp_features["auth"] = self.esmtp_features.get("auth", "") \ + + " " + auth_match.groups(0)[0] + continue + + # RFC 1869 requires a space between ehlo keyword and parameters. + # It's actually stricter, in that only spaces are allowed between + # parameters, but were not going to check for that here. Note + # that the space isn't present if there are no parameters. + m=re.match(r'(?P[A-Za-z0-9][A-Za-z0-9\-]*) ?',each) + if m: + feature=m.group("feature").lower() + params=m.string[m.end("feature"):].strip() + if feature == "auth": + self.esmtp_features[feature] = self.esmtp_features.get(feature, "") \ + + " " + params + else: + self.esmtp_features[feature]=params + return (code,msg) + + def has_extn(self, opt): + """Does the server support a given SMTP service extension?""" + return opt.lower() in self.esmtp_features + + def help(self, args=''): + """SMTP 'help' command. + Returns help text from server.""" + self.putcmd("help", args) + return self.getreply()[1] + + def rset(self): + """SMTP 'rset' command -- resets session.""" + return self.docmd("rset") + + def noop(self): + """SMTP 'noop' command -- doesn't do anything :>""" + return self.docmd("noop") + + def mail(self,sender,options=[]): + """SMTP 'mail' command -- begins mail xfer session.""" + optionlist = '' + if options and self.does_esmtp: + optionlist = ' ' + ' '.join(options) + self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender) ,optionlist)) + return self.getreply() + + def rcpt(self,recip,options=[]): + """SMTP 'rcpt' command -- indicates 1 recipient for this mail.""" + optionlist = '' + if options and self.does_esmtp: + optionlist = ' ' + ' '.join(options) + self.putcmd("rcpt","TO:%s%s" % (quoteaddr(recip),optionlist)) + return self.getreply() + + def data(self,msg): + """SMTP 'DATA' command -- sends message data to server. + + Automatically quotes lines beginning with a period per rfc821. + Raises SMTPDataError if there is an unexpected reply to the + DATA command; the return value from this method is the final + response code received when the all data is sent. + """ + self.putcmd("data") + (code,repl)=self.getreply() + if self.debuglevel >0 : self.debug("data:", (code,repl)) + if code != 354: + raise SMTPDataError(code,repl) + else: + q = quotedata(msg) + if q[-2:] != CRLF: + q = q + CRLF + q = q + "." + CRLF + self.send(q) + (code,msg)=self.getreply() + if self.debuglevel > 0 : + self.debug("data:", (code,msg)) + return (code,msg) + + def verify(self, address): + """SMTP 'verify' command -- checks for address validity.""" + self.putcmd("vrfy", quoteaddr(address)) + return self.getreply() + # a.k.a. + vrfy=verify + + def expn(self, address): + """SMTP 'expn' command -- expands a mailing list.""" + self.putcmd("expn", quoteaddr(address)) + return self.getreply() + + # some useful methods + + def ehlo_or_helo_if_needed(self): + """Call self.ehlo() and/or self.helo() if needed. + + If there has been no previous EHLO or HELO command this session, this + method tries ESMTP EHLO first. + + This method may raise the following exceptions: + + SMTPHeloError The server didn't reply properly to + the helo greeting. + """ + if self.helo_resp is None and self.ehlo_resp is None: + if not (200 <= self.ehlo()[0] <= 299): + (code, resp) = self.helo() + if not (200 <= code <= 299): + raise SMTPHeloError(code, resp) + + def login(self, user, password): + """Log in on an SMTP server that requires authentication. + + The arguments are: + - user: The user name to authenticate with. + - password: The password for the authentication. + + If there has been no previous EHLO or HELO command this session, this + method tries ESMTP EHLO first. + + This method will return normally if the authentication was successful. + + This method may raise the following exceptions: + + SMTPHeloError The server didn't reply properly to + the helo greeting. + SMTPAuthenticationError The server didn't accept the username/ + password combination. + SMTPException No suitable authentication method was + found. + """ + + def encode_cram_md5(challenge, user, password): + challenge = base64.decodestring(challenge) + response = user + " " + hmac.HMAC(password, challenge).hexdigest() + return encode_base64(response, eol="") + + def encode_plain(user, password): + return encode_base64("\0%s\0%s" % (user, password), eol="") + + + AUTH_PLAIN = "PLAIN" + AUTH_CRAM_MD5 = "CRAM-MD5" + AUTH_LOGIN = "LOGIN" + + self.ehlo_or_helo_if_needed() + + if not self.has_extn("auth"): + raise SMTPException("SMTP AUTH extension not supported by server.") + + # Authentication methods the server supports: + authlist = self.esmtp_features["auth"].split() + + # List of authentication methods we support: from preferred to + # less preferred methods. Except for the purpose of testing the weaker + # ones, we prefer stronger methods like CRAM-MD5: + preferred_auths = [AUTH_CRAM_MD5, AUTH_PLAIN, AUTH_LOGIN] + + # Determine the authentication method we'll use + authmethod = None + for method in preferred_auths: + if method in authlist: + authmethod = method + break + + if authmethod == AUTH_CRAM_MD5: + (code, resp) = self.docmd("AUTH", AUTH_CRAM_MD5) + if code == 503: + # 503 == 'Error: already authenticated' + return (code, resp) + (code, resp) = self.docmd(encode_cram_md5(resp, user, password)) + elif authmethod == AUTH_PLAIN: + (code, resp) = self.docmd("AUTH", + AUTH_PLAIN + " " + encode_plain(user, password)) + elif authmethod == AUTH_LOGIN: + (code, resp) = self.docmd("AUTH", + "%s %s" % (AUTH_LOGIN, encode_base64(user, eol=""))) + if code != 334: + raise SMTPAuthenticationError(code, resp) + (code, resp) = self.docmd(encode_base64(password, eol="")) + elif authmethod is None: + raise SMTPException("No suitable authentication method found.") + if code not in (235, 503): + # 235 == 'Authentication successful' + # 503 == 'Error: already authenticated' + raise SMTPAuthenticationError(code, resp) + return (code, resp) + + def starttls(self, keyfile = None, certfile = None): + """Puts the connection to the SMTP server into TLS mode. + + If there has been no previous EHLO or HELO command this session, this + method tries ESMTP EHLO first. + + If the server supports TLS, this will encrypt the rest of the SMTP + session. If you provide the keyfile and certfile parameters, + the identity of the SMTP server and client can be checked. This, + however, depends on whether the socket module really checks the + certificates. + + This method may raise the following exceptions: + + SMTPHeloError The server didn't reply properly to + the helo greeting. + """ + self.ehlo_or_helo_if_needed() + if not self.has_extn("starttls"): + raise SMTPException("STARTTLS extension not supported by server.") + (resp, reply) = self.docmd("STARTTLS") + if resp == 220: + if not _have_ssl: + raise RuntimeError("No SSL support included in this Python") + self.sock = ssl.wrap_socket(self.sock, keyfile, certfile) + self.file = SSLFakeFile(self.sock) + # RFC 3207: + # The client MUST discard any knowledge obtained from + # the server, such as the list of SMTP service extensions, + # which was not obtained from the TLS negotiation itself. + self.helo_resp = None + self.ehlo_resp = None + self.esmtp_features = {} + self.does_esmtp = 0 + return (resp, reply) + + def sendmail(self, from_addr, to_addrs, msg, mail_options=[], + rcpt_options=[]): + """This command performs an entire mail transaction. + + The arguments are: + - from_addr : The address sending this mail. + - to_addrs : A list of addresses to send this mail to. A bare + string will be treated as a list with 1 address. + - msg : The message to send. + - mail_options : List of ESMTP options (such as 8bitmime) for the + mail command. + - rcpt_options : List of ESMTP options (such as DSN commands) for + all the rcpt commands. + + If there has been no previous EHLO or HELO command this session, this + method tries ESMTP EHLO first. If the server does ESMTP, message size + and each of the specified options will be passed to it. If EHLO + fails, HELO will be tried and ESMTP options suppressed. + + This method will return normally if the mail is accepted for at least + one recipient. It returns a dictionary, with one entry for each + recipient that was refused. Each entry contains a tuple of the SMTP + error code and the accompanying error message sent by the server. + + This method may raise the following exceptions: + + SMTPHeloError The server didn't reply properly to + the helo greeting. + SMTPRecipientsRefused The server rejected ALL recipients + (no mail was sent). + SMTPSenderRefused The server didn't accept the from_addr. + SMTPDataError The server replied with an unexpected + error code (other than a refusal of + a recipient). + + Note: the connection will be open even after an exception is raised. + + Example: + + >>> import smtplib + >>> s=smtplib.SMTP("localhost") + >>> tolist=["one@one.org","two@two.org","three@three.org","four@four.org"] + >>> msg = '''\\ + ... From: Me@my.org + ... Subject: testin'... + ... + ... This is a test ''' + >>> s.sendmail("me@my.org",tolist,msg) + { "three@three.org" : ( 550 ,"User unknown" ) } + >>> s.quit() + + In the above example, the message was accepted for delivery to three + of the four addresses, and one was rejected, with the error code + 550. If all addresses are accepted, then the method will return an + empty dictionary. + + """ + self.ehlo_or_helo_if_needed() + esmtp_opts = [] + if self.does_esmtp: + # Hmmm? what's this? -ddm + # self.esmtp_features['7bit']="" + if self.has_extn('size'): + esmtp_opts.append("size=%d" % len(msg)) + for option in mail_options: + esmtp_opts.append(option) + + (code,resp) = self.mail(from_addr, esmtp_opts) + if code != 250: + self.rset() + raise SMTPSenderRefused(code, resp, from_addr) + senderrs={} + if isinstance(to_addrs, basestring): + to_addrs = [to_addrs] + for each in to_addrs: + (code,resp)=self.rcpt(each, rcpt_options) + if (code != 250) and (code != 251): + senderrs[each]=(code,resp) + if len(senderrs)==len(to_addrs): + # the server refused all our recipients + self.rset() + raise SMTPRecipientsRefused(senderrs) + (code,resp) = self.data(msg) + if code != 250: + self.rset() + raise SMTPDataError(code, resp) + #if we got here then somebody got our mail + return senderrs + + + def close(self): + """Close the connection to the SMTP server.""" + if self.file: + self.file.close() + self.file = None + if self.sock: + self.sock.close() + self.sock = None + + + def quit(self): + """Terminate the SMTP session.""" + res = self.docmd("quit") + self.close() + return res + +if _have_ssl: + + class SMTP_SSL(SMTP): + """ This is a subclass derived from SMTP that connects over an SSL encrypted + socket (to use this class you need a socket module that was compiled with SSL + support). If host is not specified, '' (the local host) is used. If port is + omitted, the standard SMTP-over-SSL port (465) is used. keyfile and certfile + are also optional - they can contain a PEM formatted private key and + certificate chain file for the SSL connection. + """ + def __init__(self, host='', port=0, local_hostname=None, + keyfile=None, certfile=None, + timeout=socket._GLOBAL_DEFAULT_TIMEOUT, + debug_to=partial(print, file=sys.stderr)): + self.keyfile = keyfile + self.certfile = certfile + SMTP.__init__(self, host, port, local_hostname, timeout, + debug_to=debug_to) + self.default_port = SMTP_SSL_PORT + + def _get_socket(self, host, port, timeout): + if self.debuglevel > 0: self.debug('connect:', (host, port)) + new_socket = socket.create_connection((host, port), timeout) + new_socket = ssl.wrap_socket(new_socket, self.keyfile, self.certfile) + self.file = SSLFakeFile(new_socket) + return new_socket + + __all__.append("SMTP_SSL") + +# +# LMTP extension +# +LMTP_PORT = 2003 + +class LMTP(SMTP): + """LMTP - Local Mail Transfer Protocol + + The LMTP protocol, which is very similar to ESMTP, is heavily based + on the standard SMTP client. It's common to use Unix sockets for LMTP, + so our connect() method must support that as well as a regular + host:port server. To specify a Unix socket, you must use an absolute + path as the host, starting with a '/'. + + Authentication is supported, using the regular SMTP mechanism. When + using a Unix socket, LMTP generally don't support or require any + authentication, but your mileage might vary.""" + + ehlo_msg = "lhlo" + + def __init__(self, host = '', port = LMTP_PORT, local_hostname = None): + """Initialize a new instance.""" + SMTP.__init__(self, host, port, local_hostname) + + def connect(self, host = 'localhost', port = 0): + """Connect to the LMTP daemon, on either a Unix or a TCP socket.""" + if host[0] != '/': + return SMTP.connect(self, host, port) + + # Handle Unix-domain sockets. + try: + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.sock.connect(host) + except socket.error, msg: + if self.debuglevel > 0: self.debug('connect fail:', host) + if self.sock: + self.sock.close() + self.sock = None + raise socket.error, msg + (code, msg) = self.getreply() + if self.debuglevel > 0: self.debug("connect:", msg) + return (code, msg) + + + From 9f71cb35ce8a1a5e020b09ce78527bc52d59d410 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 23:03:28 -0700 Subject: [PATCH 22/80] ... --- src/calibre/gui2/email.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index bfd9f76470..f6a4dd74dc 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -123,7 +123,10 @@ class Emailer(Thread): # {{{ job.failed = failed job.exception = exc job.job_done() - job.email_sent_callback(job) + try: + job.email_sent_callback(job) + except: + pass def send_mails(self, jobnames, callback, attachments, to_s, subjects, texts, attachment_names): @@ -191,7 +194,6 @@ class Emailer(Thread): # {{{ # }}} - class EmailMixin(object): # {{{ def __init__(self): From b853001297c70c344bdcd6c95cf8b4404a33588f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 23:04:04 -0700 Subject: [PATCH 23/80] ... --- src/calibre/gui2/email.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index f6a4dd74dc..8e4ce3b4a4 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -126,7 +126,8 @@ class Emailer(Thread): # {{{ try: job.email_sent_callback(job) except: - pass + import traceback + traceback.print_exc() def send_mails(self, jobnames, callback, attachments, to_s, subjects, texts, attachment_names): From ffb5b6f8b33ba246b4aeacd7b46e0d834c266f51 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 24 Nov 2010 23:19:06 -0700 Subject: [PATCH 24/80] MOBI Input: Workaround MOBI files that have invalid

constructs (
cannot be nested inside

in XHTML) --- src/calibre/ebooks/mobi/reader.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index c4845f9443..309023ede9 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -480,6 +480,9 @@ class MobiReader(object): # - lxml and beautifulsoup expect/assume a specific order based on xhtml spec self.processed_html = re.sub(r'(?i)(?P(<(h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})(?P]*>)', '\g'+'\g', self.processed_html) self.processed_html = re.sub(r'(?i)(?P]*>)\s*(?P(\s*){1,})', '\g'+'\g', self.processed_html) + self.processed_html = re.sub(r'(?i)(?P

(]*>\s*){1,})(?P]*>)', '\g'+'\g
', self.processed_html) + self.processed_html = re.sub(r'(?i)(?P]*>)\s*(?P
(]*>\s*){1,})', '\g
'+'\g', self.processed_html) + def remove_random_bytes(self, html): return re.sub('\x14|\x15|\x19|\x1c|\x1d|\xef|\x12|\x13|\xec|\x08', From 2df996d4081226ddd275956cbc7f1dab900cc35d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 08:49:30 -0700 Subject: [PATCH 25/80] ... --- resources/recipes/brand_eins.recipe | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/recipes/brand_eins.recipe b/resources/recipes/brand_eins.recipe index 71b6aa8cda..3d62079716 100644 --- a/resources/recipes/brand_eins.recipe +++ b/resources/recipes/brand_eins.recipe @@ -27,7 +27,7 @@ class BrandEins(BasicNewsRecipe): encoding = 'utf-8' language = 'de' publication_type = 'magazine' - needs_subscription = True + needs_subscription = 'optional' # 2 is the last full magazine (default) # 1 is the newest (but not full) From 5825d31ed827d608997498ed06a746165aa0ffec Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 09:31:29 -0700 Subject: [PATCH 26/80] E-mail sending: Allow unencrypted connections to SMTP relay --- src/calibre/gui2/wizard/send_email.py | 5 +++-- src/calibre/gui2/wizard/send_email.ui | 12 +++++++++++- src/calibre/utils/smtp.py | 9 +++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/calibre/gui2/wizard/send_email.py b/src/calibre/gui2/wizard/send_email.py index c0830ddae4..20e73fabe2 100644 --- a/src/calibre/gui2/wizard/send_email.py +++ b/src/calibre/gui2/wizard/send_email.py @@ -73,7 +73,7 @@ class SendEmail(QWidget, Ui_Form): if opts.relay_password: self.relay_password.setText(unhexlify(opts.relay_password)) self.relay_password.textChanged.connect(self.changed) - (self.relay_tls if opts.encryption == 'TLS' else self.relay_ssl).setChecked(True) + getattr(self, 'relay_'+opts.encryption.lower()).setChecked(True) self.relay_tls.toggled.connect(self.changed) for x in ('gmail', 'hotmail'): @@ -210,7 +210,8 @@ class SendEmail(QWidget, Ui_Form): conf.set('relay_port', self.relay_port.value()) conf.set('relay_username', username if username else None) conf.set('relay_password', hexlify(password)) - conf.set('encryption', 'TLS' if self.relay_tls.isChecked() else 'SSL') + conf.set('encryption', 'TLS' if self.relay_tls.isChecked() else 'SSL' + if self.relay_ssl.isChecked() else 'NONE') return True diff --git a/src/calibre/gui2/wizard/send_email.ui b/src/calibre/gui2/wizard/send_email.ui index ba6b6866e2..fbb9500661 100644 --- a/src/calibre/gui2/wizard/send_email.ui +++ b/src/calibre/gui2/wizard/send_email.ui @@ -168,7 +168,7 @@ - + Use SSL encryption when connecting to the mail server. @@ -191,6 +191,16 @@ + + + + WARNING: Using no encryption is highly insecure + + + &None + + + diff --git a/src/calibre/utils/smtp.py b/src/calibre/utils/smtp.py index 69d790177f..744021f911 100644 --- a/src/calibre/utils/smtp.py +++ b/src/calibre/utils/smtp.py @@ -90,7 +90,7 @@ def sendmail(msg, from_, to, localhost=None, verbose=0, timeout=None, for x in to: return sendmail_direct(from_, x, msg, timeout, localhost, verbose) import calibre.utils.smtplib as smtplib - cls = smtplib.SMTP if encryption == 'TLS' else smtplib.SMTP_SSL + cls = smtplib.SMTP_SSL if encryption == 'SSL' else smtplib.SMTP timeout = None # Non-blocking sockets sometimes don't work port = int(port) kwargs = dict(timeout=timeout, local_hostname=localhost) @@ -99,7 +99,7 @@ def sendmail(msg, from_, to, localhost=None, verbose=0, timeout=None, s = cls(**kwargs) s.set_debuglevel(verbose) if port < 0: - port = 25 if encryption == 'TLS' else 465 + port = 25 if encryption != 'SSL' else 465 s.connect(relay, port) if encryption == 'TLS': s.starttls() @@ -158,9 +158,9 @@ def option_parser(): r('-u', '--username', help='Username for relay') r('-p', '--password', help='Password for relay') r('-e', '--encryption-method', default='TLS', - choices=['TLS', 'SSL'], + choices=['TLS', 'SSL', 'NONE'], help='Encryption method to use when connecting to relay. Choices are ' - 'TLS and SSL. Default is TLS.') + 'TLS, SSL and NONE. Default is TLS. WARNING: Choosing NONE is highly insecure') parser.add_option('-o', '--outbox', help='Path to maildir folder to store ' 'failed email messages in.') parser.add_option('-f', '--fork', default=False, action='store_true', @@ -231,6 +231,7 @@ def main(args=sys.argv): if opts.fork: if os.fork() != 0: return 0 + try: sendmail(msg, efrom, eto, localhost=opts.localhost, verbose=opts.verbose, timeout=opts.timeout, relay=opts.relay, username=opts.username, From 3096514c42feeb8613d78e97bcded45359348efc Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 09:48:14 -0700 Subject: [PATCH 27/80] TXT/RTF Output: Handle XML processing instructions embedded in content correctly. Fixes #7644 (Convert epub to rtf or txt - text sections get lost) --- src/calibre/ebooks/rtf/rtfml.py | 4 ++++ src/calibre/ebooks/txt/txtml.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/calibre/ebooks/rtf/rtfml.py b/src/calibre/ebooks/rtf/rtfml.py index 3869c05152..590beb85de 100644 --- a/src/calibre/ebooks/rtf/rtfml.py +++ b/src/calibre/ebooks/rtf/rtfml.py @@ -191,6 +191,10 @@ class RTFMLizer(object): def dump_text(self, elem, stylizer, tag_stack=[]): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: + p = elem.getparent() + if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + and elem.tail: + return elem.tail return u'' text = u'' diff --git a/src/calibre/ebooks/txt/txtml.py b/src/calibre/ebooks/txt/txtml.py index bb730c0720..d71212fa8e 100644 --- a/src/calibre/ebooks/txt/txtml.py +++ b/src/calibre/ebooks/txt/txtml.py @@ -155,6 +155,10 @@ class TXTMLizer(object): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: + p = elem.getparent() + if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + and elem.tail: + return [elem.tail] return [''] text = [''] From 79d31555b2c57dca4f4e50b6b854d52250e06c8d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 09:49:25 -0700 Subject: [PATCH 28/80] Arcamax by Starson17 --- resources/recipes/arcamax.recipe | 110 +++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 resources/recipes/arcamax.recipe diff --git a/resources/recipes/arcamax.recipe b/resources/recipes/arcamax.recipe new file mode 100644 index 0000000000..39fa199cc3 --- /dev/null +++ b/resources/recipes/arcamax.recipe @@ -0,0 +1,110 @@ +#!/usr/bin/env python + +__license__ = 'GPL v3' +__copyright__ = 'Copyright 2010 Starson17' +''' +www.arcamax.com +''' +from calibre.web.feeds.news import BasicNewsRecipe + +class Arcamax(BasicNewsRecipe): + title = 'Arcamax' + __author__ = 'Starson17' + __version__ = '1.03' + __date__ = '25 November 2010' + description = u'Family Friendly Comics - Customize for more days/comics: Defaults to 7 days, 25 comics - 20 general, 5 editorial.' + category = 'news, comics' + language = 'en' + use_embedded_content= False + no_stylesheets = True + remove_javascript = True + cover_url = 'http://www.arcamax.com/images/pub/amuse/leftcol/zits.jpg' + + ####### USER PREFERENCES - SET COMICS AND NUMBER OF COMICS TO RETRIEVE ######## + num_comics_to_get = 7 + # CHOOSE COMIC STRIPS BELOW - REMOVE COMMENT '# ' FROM IN FRONT OF DESIRED STRIPS + + conversion_options = {'linearize_tables' : True + , 'comment' : description + , 'tags' : category + , 'language' : language + } + + keep_only_tags = [dict(name='div', attrs={'class':['toon']}), + ] + + def parse_index(self): + feeds = [] + for title, url in [ + ######## COMICS - GENERAL ######## + #(u"9 Chickweed Lane", u"http://www.arcamax.com/ninechickweedlane"), + #(u"Agnes", u"http://www.arcamax.com/agnes"), + #(u"Andy Capp", u"http://www.arcamax.com/andycapp"), + (u"BC", u"http://www.arcamax.com/bc"), + #(u"Baby Blues", u"http://www.arcamax.com/babyblues"), + #(u"Beetle Bailey", u"http://www.arcamax.com/beetlebailey"), + (u"Blondie", u"http://www.arcamax.com/blondie"), + #u"Boondocks", u"http://www.arcamax.com/boondocks"), + #(u"Cathy", u"http://www.arcamax.com/cathy"), + #(u"Daddys Home", u"http://www.arcamax.com/daddyshome"), + (u"Dilbert", u"http://www.arcamax.com/dilbert"), + #(u"Dinette Set", u"http://www.arcamax.com/thedinetteset"), + (u"Dog Eat Doug", u"http://www.arcamax.com/dogeatdoug"), + (u"Doonesbury", u"http://www.arcamax.com/doonesbury"), + #(u"Dustin", u"http://www.arcamax.com/dustin"), + (u"Family Circus", u"http://www.arcamax.com/familycircus"), + (u"Garfield", u"http://www.arcamax.com/garfield"), + #(u"Get Fuzzy", u"http://www.arcamax.com/getfuzzy"), + #(u"Girls and Sports", u"http://www.arcamax.com/girlsandsports"), + #(u"Hagar the Horrible", u"http://www.arcamax.com/hagarthehorrible"), + #(u"Heathcliff", u"http://www.arcamax.com/heathcliff"), + #(u"Jerry King Cartoons", u"http://www.arcamax.com/humorcartoon"), + #(u"Luann", u"http://www.arcamax.com/luann"), + #(u"Momma", u"http://www.arcamax.com/momma"), + #(u"Mother Goose and Grimm", u"http://www.arcamax.com/mothergooseandgrimm"), + (u"Mutts", u"http://www.arcamax.com/mutts"), + #(u"Non Sequitur", u"http://www.arcamax.com/nonsequitur"), + #(u"Pearls Before Swine", u"http://www.arcamax.com/pearlsbeforeswine"), + #(u"Pickles", u"http://www.arcamax.com/pickles"), + #(u"Red and Rover", u"http://www.arcamax.com/redandrover"), + #(u"Rubes", u"http://www.arcamax.com/rubes"), + #(u"Rugrats", u"http://www.arcamax.com/rugrats"), + (u"Speed Bump", u"http://www.arcamax.com/speedbump"), + (u"Wizard of Id", u"http://www.arcamax.com/wizardofid"), + (u"Dilbert", u"http://www.arcamax.com/dilbert"), + (u"Zits", u"http://www.arcamax.com/zits"), + ]: + articles = self.make_links(url) + if articles: + feeds.append((title, articles)) + return feeds + + def make_links(self, url): + title = 'Temp' + current_articles = [] + pages = range(1, self.num_comics_to_get+1) + for page in pages: + page_soup = self.index_to_soup(url) + if page_soup: + title = page_soup.find(name='div', attrs={'class':'toon'}).p.img['alt'] + page_url = url + prev_page_url = 'http://www.arcamax.com' + page_soup.find('a', attrs={'class':'next'}, text='Previous').parent['href'] + current_articles.append({'title': title, 'url': page_url, 'description':'', 'date':''}) + url = prev_page_url + current_articles.reverse() + return current_articles + + def preprocess_html(self, soup): + main_comic = soup.find('p',attrs={'class':'m0'}) + if main_comic.a['target'] == '_blank': + main_comic.a.img['id'] = 'main_comic' + return soup + + extra_css = ''' + h1{font-family:Arial,Helvetica,sans-serif; font-weight:bold;font-size:large;} + h2{font-family:Arial,Helvetica,sans-serif; font-weight:normal;font-size:small;} + img#main_comic {max-width:100%; min-width:100%;} + p{font-family:Arial,Helvetica,sans-serif;font-size:small;} + body{font-family:Helvetica,Arial,sans-serif;font-size:small;} + ''' + From 72ced811c8f54b066974b8d7ba559e60366d8a9d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 09:50:32 -0700 Subject: [PATCH 29/80] ... --- src/calibre/ebooks/rtf/rtfml.py | 2 +- src/calibre/ebooks/txt/txtml.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/rtf/rtfml.py b/src/calibre/ebooks/rtf/rtfml.py index 590beb85de..53ba7ecbd8 100644 --- a/src/calibre/ebooks/rtf/rtfml.py +++ b/src/calibre/ebooks/rtf/rtfml.py @@ -192,7 +192,7 @@ class RTFMLizer(object): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: p = elem.getparent() - if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + if p is not None and isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ and elem.tail: return elem.tail return u'' diff --git a/src/calibre/ebooks/txt/txtml.py b/src/calibre/ebooks/txt/txtml.py index d71212fa8e..3ecb6940f8 100644 --- a/src/calibre/ebooks/txt/txtml.py +++ b/src/calibre/ebooks/txt/txtml.py @@ -156,7 +156,7 @@ class TXTMLizer(object): if not isinstance(elem.tag, basestring) \ or namespace(elem.tag) != XHTML_NS: p = elem.getparent() - if isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ + if p is not None and isinstance(p.tag, basestring) and namespace(p.tag) == XHTML_NS \ and elem.tail: return [elem.tail] return [''] From 1b3c8c09751aa5d8b9885e7de32188f1072fa0aa Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 09:57:51 -0700 Subject: [PATCH 30/80] Fix #7655 (Support for Pocketbook Pro 602) --- src/calibre/customize/builtins.py | 3 ++- src/calibre/devices/eb600/driver.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 87946706cf..f6c11f9d30 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -457,7 +457,7 @@ from calibre.devices.blackberry.driver import BLACKBERRY from calibre.devices.cybook.driver import CYBOOK, ORIZON from calibre.devices.eb600.driver import EB600, COOL_ER, SHINEBOOK, \ POCKETBOOK360, GER2, ITALICA, ECLICTO, DBOOK, INVESBOOK, \ - BOOQ, ELONEX, POCKETBOOK301, MENTOR + BOOQ, ELONEX, POCKETBOOK301, MENTOR, POCKETBOOK602 from calibre.devices.iliad.driver import ILIAD from calibre.devices.irexdr.driver import IREXDR1000, IREXDR800 from calibre.devices.jetbook.driver import JETBOOK, MIBUK, JETBOOK_MINI @@ -547,6 +547,7 @@ plugins += [ SHINEBOOK, POCKETBOOK360, POCKETBOOK301, + POCKETBOOK602, KINDLE, KINDLE2, KINDLE_DX, diff --git a/src/calibre/devices/eb600/driver.py b/src/calibre/devices/eb600/driver.py index bf03b1e4c2..4b3d4498c4 100644 --- a/src/calibre/devices/eb600/driver.py +++ b/src/calibre/devices/eb600/driver.py @@ -227,4 +227,22 @@ class POCKETBOOK301(USBMS): PRODUCT_ID = [0x301] BCD = [0x132] +class POCKETBOOK602(USBMS): + + name = 'PocketBook Pro 602 Device Interface' + description = _('Communicate with the PocketBook 602 reader.') + author = 'Kovid Goyal' + supported_platforms = ['windows', 'osx', 'linux'] + FORMATS = ['epub', 'fb2', 'prc', 'mobi', 'pdf', 'djvu', 'rtf', 'chm', + 'doc', 'tcr', 'txt'] + + EBOOK_DIR_MAIN = 'books' + SUPPORTS_SUB_DIRS = True + + VENDOR_ID = [0x0525] + PRODUCT_ID = [0xa4a5] + BCD = [0x0324] + + VENDOR_NAME = '' + WINDOWS_MAIN_MEM = WINDOWS_CARD_A_MEM = 'PB602' From a1efc0cf1bef1759bbd0dcff838e6f753f49a73a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 10:37:23 -0700 Subject: [PATCH 31/80] Fix #7608 (Support for Acer Lumiread) --- src/calibre/customize/builtins.py | 3 ++- src/calibre/devices/misc.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index f6c11f9d30..5f3aab142e 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -476,7 +476,7 @@ from calibre.devices.teclast.driver import TECLAST_K3, NEWSMY, IPAPYRUS, \ SOVOS, PICO from calibre.devices.sne.driver import SNE from calibre.devices.misc import PALMPRE, AVANT, SWEEX, PDNOVEL, KOGAN, \ - GEMEI, VELOCITYMICRO, PDNOVEL_KOBO, Q600 + GEMEI, VELOCITYMICRO, PDNOVEL_KOBO, Q600, LUMIREAD from calibre.devices.folder_device.driver import FOLDER_DEVICE_FOR_CONFIG from calibre.devices.kobo.driver import KOBO @@ -600,6 +600,7 @@ plugins += [ GEMEI, VELOCITYMICRO, PDNOVEL_KOBO, + LUMIREAD, ITUNES, ] plugins += [x for x in list(locals().values()) if isinstance(x, type) and \ diff --git a/src/calibre/devices/misc.py b/src/calibre/devices/misc.py index d95c8e4036..e27aee4393 100644 --- a/src/calibre/devices/misc.py +++ b/src/calibre/devices/misc.py @@ -174,3 +174,33 @@ class GEMEI(USBMS): EBOOK_DIR_MAIN = 'eBooks' SUPPORTS_SUB_DIRS = True +class LUMIREAD(USBMS): + name = 'Acer Lumiread Device Interface' + gui_name = 'Lumiread' + description = _('Communicate with the Acer Lumiread') + author = 'Kovid Goyal' + supported_platforms = ['windows', 'osx', 'linux'] + + # Ordered list of supported formats + FORMATS = ['epub', 'pdf', 'mobi', 'chm', 'txt', 'doc', 'docx', 'rtf'] + + VENDOR_ID = [0x1025] + PRODUCT_ID = [0x048d] + BCD = [0x323] + + EBOOK_DIR_MAIN = EBOOK_DIR_CARD_A = 'books' + SUPPORTS_SUB_DIRS = True + + THUMBNAIL_HEIGHT = 200 + + def upload_cover(self, path, filename, metadata, filepath): + if metadata.thumbnail and metadata.thumbnail[-1]: + cfilepath = filepath.replace('/', os.sep) + cfilepath = cfilepath.replace(os.sep+'books'+os.sep, + os.sep+'covers'+os.sep, 1) + pdir = os.path.dirname(cfilepath) + if not os.exists(pdir): + os.makedirs(pdir) + with open(cfilepath+'.jpg', 'wb') as f: + f.write(metadata.thumbnail[-1]) + From 344b72e74b4be1775a72a8da4de132fef66b02ac Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 11:20:22 -0700 Subject: [PATCH 32/80] Content server: When a category contains only one item, go directly to the book list instead of forcing the user to click ont hat one item --- resources/content_server/read/monocle.js | 96 ++++++++++++++++++++---- src/calibre/gui2/tag_view.py | 2 +- src/calibre/library/server/browse.py | 12 ++- 3 files changed, 95 insertions(+), 15 deletions(-) diff --git a/resources/content_server/read/monocle.js b/resources/content_server/read/monocle.js index c0642743f7..8d58ba8a06 100644 --- a/resources/content_server/read/monocle.js +++ b/resources/content_server/read/monocle.js @@ -38,6 +38,7 @@ Monocle.Browser.on = { iPad: navigator.userAgent.indexOf("iPad") != -1, BlackBerry: navigator.userAgent.indexOf("BlackBerry") != -1, Android: navigator.userAgent.indexOf('Android') != -1, + MacOSX: navigator.userAgent.indexOf('Mac OS X') != -1, Kindle3: navigator.userAgent.match(/Kindle\/3/) } @@ -162,12 +163,23 @@ Monocle.Browser.has.transform3d = Monocle.Browser.CSSProps.isSupported([ 'OPerspective', 'msPerspective' ]) && Monocle.Browser.CSSProps.supportsMediaQueryProperty('transform-3d'); +Monocle.Browser.has.embedded = (top != self); + Monocle.Browser.has.iframeTouchBug = Monocle.Browser.iOSVersionBelow("4.2"); + Monocle.Browser.has.selectThruBug = Monocle.Browser.iOSVersionBelow("4.2"); + Monocle.Browser.has.mustScrollSheaf = Monocle.Browser.is.MobileSafari; Monocle.Browser.has.iframeDoubleWidthBug = Monocle.Browser.has.mustScrollSheaf; + Monocle.Browser.has.floatColumnBug = Monocle.Browser.is.WebKit; +Monocle.Browser.has.relativeIframeWidthBug = Monocle.Browser.on.Android; + + +Monocle.Browser.has.jumpFlickerBug = + Monocle.Browser.on.MacOSX && Monocle.Browser.is.WebKit; + if (typeof window.console == "undefined") { window.console = { @@ -1091,11 +1103,29 @@ Monocle.Reader = function (node, bookData, options, onLoadCallback) { cmpt.dom.setStyles(Monocle.Styles.component); Monocle.Styles.applyRules(cmpt.contentDocument.body, Monocle.Styles.body); } + lockFrameWidths(); dom.find('overlay').dom.setStyles(Monocle.Styles.overlay); dispatchEvent('monocle:styles'); } + function lockingFrameWidths() { + if (!Monocle.Browser.has.relativeIframeWidthBug) { return; } + for (var i = 0, cmpt; cmpt = dom.find('component', i); ++i) { + cmpt.style.display = "none"; + } + } + + + function lockFrameWidths() { + if (!Monocle.Browser.has.relativeIframeWidthBug) { return; } + for (var i = 0, cmpt; cmpt = dom.find('component', i); ++i) { + cmpt.style.width = cmpt.parentNode.offsetWidth+"px"; + cmpt.style.display = "block"; + } + } + + function setBook(bk, place, callback) { p.book = bk; var pageCount = 0; @@ -1121,12 +1151,14 @@ Monocle.Reader = function (node, bookData, options, onLoadCallback) { if (!p.initialized) { console.warn('Attempt to resize book before initialization.'); } + lockingFrameWidths(); if (!dispatchEvent("monocle:resizing", {}, true)) { return; } clearTimeout(p.resizeTimer); p.resizeTimer = setTimeout( function () { + lockFrameWidths(); p.flipper.moveTo({ page: pageNumber() }); dispatchEvent("monocle:resize"); }, @@ -1765,12 +1797,7 @@ Monocle.Book = function (dataSource) { function componentIdMatching(str) { - for (var i = 0; i < p.componentIds.length; ++i) { - if (str.indexOf(p.componentIds[i]) > -1) { - return p.componentIds[i]; - } - } - return null; + return p.componentIds.indexOf(str) >= 0 ? str : null; } @@ -2018,6 +2045,12 @@ Monocle.Component = function (book, id, index, chapters, source) { function loadFrameFromURL(url, frame, callback) { + if (!url.match(/^\//)) { + var link = document.createElement('a'); + link.setAttribute('href', url); + url = link.href; + delete(link); + } frame.onload = function () { frame.onload = null; Monocle.defer(callback); @@ -2460,7 +2493,7 @@ Monocle.Flippers.Legacy = function (reader) { function moveTo(locus, callback) { var fn = frameToLocus; if (typeof callback == "function") { - fn = function () { frameToLocus(); callback(); } + fn = function (locus) { frameToLocus(locus); callback(locus); } } p.reader.getBook().setOrLoadPageAt(page(), locus, fn); } @@ -2794,7 +2827,9 @@ Monocle.Dimensions.Columns = function (pageDiv) { function scrollerWidth() { var bdy = p.page.m.activeFrame.contentDocument.body; if (Monocle.Browser.has.iframeDoubleWidthBug) { - if (Monocle.Browser.iOSVersion < "4.1") { + if (Monocle.Browser.on.Android) { + return bdy.scrollWidth * 1.5; // I actually have no idea why 1.5. + } else if (Monocle.Browser.iOSVersion < "4.1") { var hbw = bdy.scrollWidth / 2; var sew = scrollerElement().scrollWidth; return Math.max(sew, hbw); @@ -2969,6 +3004,7 @@ Monocle.Flippers.Slider = function (reader) { function setPage(pageDiv, locus, callback) { + ensureWaitControl(); p.reader.getBook().setOrLoadPageAt( pageDiv, locus, @@ -3048,6 +3084,7 @@ Monocle.Flippers.Slider = function (reader) { checkPoint(boxPointX); p.turnData.releasing = true; + showWaitControl(lowerPage()); if (dir == k.FORWARDS) { if ( @@ -3088,14 +3125,18 @@ Monocle.Flippers.Slider = function (reader) { function onGoingBackward(x) { - var lp = lowerPage(); + var lp = lowerPage(), up = upperPage(); + showWaitControl(up); jumpOut(lp, // move lower page off-screen function () { flipPages(); // flip lower to upper setPage( // set upper page to previous lp, getPlace(lowerPage()).getLocus({ direction: k.BACKWARDS }), - function () { lifted(x); } + function () { + lifted(x); + hideWaitControl(up); + } ); } ); @@ -3103,8 +3144,10 @@ Monocle.Flippers.Slider = function (reader) { function afterGoingForward() { - var up = upperPage(); + var up = upperPage(), lp = lowerPage(); if (p.interactive) { + showWaitControl(up); + showWaitControl(lp); setPage( // set upper (off screen) to current up, getPlace().getLocus({ direction: k.FORWARDS }), @@ -3113,6 +3156,7 @@ Monocle.Flippers.Slider = function (reader) { } ); } else { + showWaitControl(lp); flipPages(); jumpIn(up, function () { prepareNextPage(announceTurn); }); } @@ -3171,6 +3215,8 @@ Monocle.Flippers.Slider = function (reader) { function announceTurn() { + hideWaitControl(upperPage()); + hideWaitControl(lowerPage()); p.reader.dispatchEvent('monocle:turn'); resetTurnData(); } @@ -3319,12 +3365,14 @@ Monocle.Flippers.Slider = function (reader) { function jumpIn(pageDiv, callback) { - setX(pageDiv, 0, { duration: 1 }, callback); + var dur = Monocle.Browser.has.jumpFlickerBug ? 1 : 0; + setX(pageDiv, 0, { duration: dur }, callback); } function jumpOut(pageDiv, callback) { - setX(pageDiv, 0 - pageDiv.offsetWidth, { duration: 1 }, callback); + var dur = Monocle.Browser.has.jumpFlickerBug ? 1 : 0; + setX(pageDiv, 0 - pageDiv.offsetWidth, { duration: dur }, callback); } @@ -3357,6 +3405,28 @@ Monocle.Flippers.Slider = function (reader) { } + function ensureWaitControl() { + if (p.waitControl) { return; } + p.waitControl = { + createControlElements: function (holder) { + return holder.dom.make('div', 'flippers_slider_wait'); + } + } + p.reader.addControl(p.waitControl, 'page'); + } + + + function showWaitControl(page) { + var ctrl = p.reader.dom.find('flippers_slider_wait', page.m.pageIndex); + ctrl.style.opacity = 0.5; + } + + + function hideWaitControl(page) { + var ctrl = p.reader.dom.find('flippers_slider_wait', page.m.pageIndex); + ctrl.style.opacity = 0; + } + API.pageCount = p.pageCount; API.addPage = addPage; API.getPlace = getPlace; diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 76b2478015..d85728c225 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -794,7 +794,7 @@ class TagBrowserMixin(object): # {{{ cc_label = None if category in db.field_metadata: cc_label = db.field_metadata[category]['label'] - result = self.db.get_custom_items_with_ids(label=cc_label) + result = db.get_custom_items_with_ids(label=cc_label) else: result = [] compare = (lambda x,y:cmp(x.lower(), y.lower())) diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index db5c83689b..e29554c2a6 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -5,7 +5,7 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import operator, os, json +import operator, os, json, re from binascii import hexlify, unhexlify from urllib import quote, unquote @@ -401,6 +401,16 @@ class BrowseServer(object): script = 'true' + if len(items) == 1: + # Only one item in category, go directly to book list + prefix = '' if self.is_wsgi else self.opts.url_prefix + html = get_category_items(category, items, + self.search_restriction_name, datatype, + self.opts.url_prefix) + href = re.search(r' Date: Thu, 25 Nov 2010 11:30:08 -0700 Subject: [PATCH 33/80] Tag Browser: Allow user to restore hidden categories by a right click even is all categories have been hidden --- src/calibre/gui2/tag_view.py | 133 ++++++++++++++++++----------------- 1 file changed, 70 insertions(+), 63 deletions(-) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index d85728c225..3ded769137 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -174,74 +174,81 @@ class TagsView(QTreeView): # {{{ def show_context_menu(self, point): index = self.indexAt(point) - if not index.isValid(): - return False - item = index.internalPointer() - tag_name = '' - if item.type == TagTreeItem.TAG: - tag_item = item - tag_name = item.tag.name - tag_id = item.tag.id - item = item.parent - if item.type == TagTreeItem.CATEGORY: - category = unicode(item.name.toString()) - key = item.category_key - # Verify that we are working with a field that we know something about - if key not in self.db.field_metadata: - return True + self.context_menu = QMenu(self) - self.context_menu = QMenu(self) - # If the user right-clicked on an editable item, then offer - # the possibility of renaming that item - if tag_name and \ - (key in ['authors', 'tags', 'series', 'publisher', 'search'] or \ - self.db.field_metadata[key]['is_custom'] and \ - self.db.field_metadata[key]['datatype'] != 'rating'): - self.context_menu.addAction(_('Rename \'%s\'')%tag_name, - partial(self.context_menu_handler, action='edit_item', - category=tag_item, index=index)) - if key == 'authors': - self.context_menu.addAction(_('Edit sort for \'%s\'')%tag_name, - partial(self.context_menu_handler, - action='edit_author_sort', index=tag_id)) + if index.isValid(): + item = index.internalPointer() + tag_name = '' + + if item.type == TagTreeItem.TAG: + tag_item = item + tag_name = item.tag.name + tag_id = item.tag.id + item = item.parent + + if item.type == TagTreeItem.CATEGORY: + category = unicode(item.name.toString()) + key = item.category_key + # Verify that we are working with a field that we know something about + if key not in self.db.field_metadata: + return True + + # If the user right-clicked on an editable item, then offer + # the possibility of renaming that item + if tag_name and \ + (key in ['authors', 'tags', 'series', 'publisher', 'search'] or \ + self.db.field_metadata[key]['is_custom'] and \ + self.db.field_metadata[key]['datatype'] != 'rating'): + self.context_menu.addAction(_('Rename \'%s\'')%tag_name, + partial(self.context_menu_handler, action='edit_item', + category=tag_item, index=index)) + if key == 'authors': + self.context_menu.addAction(_('Edit sort for \'%s\'')%tag_name, + partial(self.context_menu_handler, + action='edit_author_sort', index=tag_id)) + self.context_menu.addSeparator() + # Hide/Show/Restore categories + self.context_menu.addAction(_('Hide category %s') % category, + partial(self.context_menu_handler, action='hide', category=category)) + if self.hidden_categories: + m = self.context_menu.addMenu(_('Show category')) + for col in sorted(self.hidden_categories, cmp=lambda x,y: cmp(x.lower(), y.lower())): + m.addAction(col, + partial(self.context_menu_handler, action='show', category=col)) + + # Offer specific editors for tags/series/publishers/saved searches self.context_menu.addSeparator() - # Hide/Show/Restore categories - self.context_menu.addAction(_('Hide category %s') % category, - partial(self.context_menu_handler, action='hide', category=category)) - if self.hidden_categories: - m = self.context_menu.addMenu(_('Show category')) - for col in sorted(self.hidden_categories, cmp=lambda x,y: cmp(x.lower(), y.lower())): - m.addAction(col, - partial(self.context_menu_handler, action='show', category=col)) - self.context_menu.addAction(_('Show all categories'), - partial(self.context_menu_handler, action='defaults')) + if key in ['tags', 'publisher', 'series'] or \ + self.db.field_metadata[key]['is_custom']: + self.context_menu.addAction(_('Manage %s')%category, + partial(self.context_menu_handler, action='open_editor', + category=tag_name, key=key)) + elif key == 'authors': + self.context_menu.addAction(_('Manage %s')%category, + partial(self.context_menu_handler, action='edit_author_sort')) + elif key == 'search': + self.context_menu.addAction(_('Manage Saved Searches'), + partial(self.context_menu_handler, action='manage_searches', + category=tag_name)) - # Offer specific editors for tags/series/publishers/saved searches - self.context_menu.addSeparator() - if key in ['tags', 'publisher', 'series'] or \ - self.db.field_metadata[key]['is_custom']: - self.context_menu.addAction(_('Manage %s')%category, - partial(self.context_menu_handler, action='open_editor', - category=tag_name, key=key)) - elif key == 'authors': - self.context_menu.addAction(_('Manage %s')%category, - partial(self.context_menu_handler, action='edit_author_sort')) - elif key == 'search': - self.context_menu.addAction(_('Manage Saved Searches'), - partial(self.context_menu_handler, action='manage_searches', - category=tag_name)) + # Always show the user categories editor + self.context_menu.addSeparator() + if category in self.db.prefs.get('user_categories', {}).keys(): + self.context_menu.addAction(_('Manage User Categories'), + partial(self.context_menu_handler, action='manage_categories', + category=category)) + else: + self.context_menu.addAction(_('Manage User Categories'), + partial(self.context_menu_handler, action='manage_categories', + category=None)) - # Always show the user categories editor - self.context_menu.addSeparator() - if category in self.db.prefs.get('user_categories', {}).keys(): - self.context_menu.addAction(_('Manage User Categories'), - partial(self.context_menu_handler, action='manage_categories', - category=category)) - else: - self.context_menu.addAction(_('Manage User Categories'), - partial(self.context_menu_handler, action='manage_categories', - category=None)) + if self.hidden_categories: + if not self.context_menu.isEmpty(): + self.context_menu.addSeparator() + self.context_menu.addAction(_('Show all categories'), + partial(self.context_menu_handler, action='defaults')) + if not self.context_menu.isEmpty(): self.context_menu.popup(self.mapToGlobal(point)) return True From 16a9d973caea1b48e1eec273927d42fff87c8f67 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 11:57:42 -0700 Subject: [PATCH 34/80] Deutsche Welle by DM. Fixes #7658 (Recipe pack for Deutsche Welle newssite) --- resources/images/news/deutsche_welle_bs.png | Bin 0 -> 445 bytes resources/images/news/deutsche_welle_en.png | Bin 0 -> 445 bytes resources/images/news/deutsche_welle_es.png | Bin 0 -> 445 bytes resources/images/news/deutsche_welle_hr.png | Bin 0 -> 445 bytes resources/images/news/deutsche_welle_pt.png | Bin 0 -> 445 bytes resources/images/news/deutsche_welle_sr.png | Bin 0 -> 445 bytes resources/recipes/deutsche_welle_bs.recipe | 76 +++++++++++++++++++ resources/recipes/deutsche_welle_en.recipe | 66 ++++++++++++++++ resources/recipes/deutsche_welle_es.recipe | 66 ++++++++++++++++ resources/recipes/deutsche_welle_hr.recipe | 74 ++++++++++++++++++ resources/recipes/deutsche_welle_pt.recipe | 66 ++++++++++++++++ resources/recipes/deutsche_welle_sr.recipe | 79 ++++++++++++++++++++ 12 files changed, 427 insertions(+) create mode 100644 resources/images/news/deutsche_welle_bs.png create mode 100644 resources/images/news/deutsche_welle_en.png create mode 100644 resources/images/news/deutsche_welle_es.png create mode 100644 resources/images/news/deutsche_welle_hr.png create mode 100644 resources/images/news/deutsche_welle_pt.png create mode 100644 resources/images/news/deutsche_welle_sr.png create mode 100644 resources/recipes/deutsche_welle_bs.recipe create mode 100644 resources/recipes/deutsche_welle_en.recipe create mode 100644 resources/recipes/deutsche_welle_es.recipe create mode 100644 resources/recipes/deutsche_welle_hr.recipe create mode 100644 resources/recipes/deutsche_welle_pt.recipe create mode 100644 resources/recipes/deutsche_welle_sr.recipe diff --git a/resources/images/news/deutsche_welle_bs.png b/resources/images/news/deutsche_welle_bs.png new file mode 100644 index 0000000000000000000000000000000000000000..cb3ad5a77f32550f3d187c75453122407fb98afe GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^0w65F1|EleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZEleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZEleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZEleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZEleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZEleM;HUf!R*-7Yjcd-==X zH$QVqF<&#SuxtKqEx~l7^ug1jhC&g=38@cWvMkfQv2Bw=Z)AncL6wPxW}m7&(uxaz6B^g>2;BeqJNlHDh3 z@+K5MpYZ Date: Thu, 25 Nov 2010 13:57:35 -0700 Subject: [PATCH 35/80] Email sending: Set rate limit to 5 minutes for gmail and hotmail and one second other wise --- src/calibre/gui2/email.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index 8e4ce3b4a4..14752f073b 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -66,7 +66,6 @@ class EmailJob(BaseJob): # {{{ class Emailer(Thread): # {{{ MAX_RETRIES = 1 - RATE_LIMIT = 65 # seconds between connections to the SMTP server def __init__(self, job_manager): Thread.__init__(self) @@ -74,7 +73,14 @@ class Emailer(Thread): # {{{ self.jobs = Queue() self.job_manager = job_manager self._run = True - self.last_send_time = time.time() - self.RATE_LIMIT + self.rate_limit = 1 + opts = email_config().parse() + rh = opts.relay_host + if rh and ( + 'gmail.com' in rh or 'live.com' in rh): + self.rate_limit = 301 + + self.last_send_time = time.time() - self.rate_limit def stop(self): self._run = False @@ -102,7 +108,7 @@ class Emailer(Thread): # {{{ failed = False if try_count > 0: job.log_write('\nRetrying in %d seconds...\n' % - self.RATE_LIMIT) + self.rate_limit) try: self.sendmail(job) break @@ -140,7 +146,7 @@ class Emailer(Thread): # {{{ self.jobs.put(job) def sendmail(self, job): - while time.time() - self.last_send_time <= self.RATE_LIMIT: + while time.time() - self.last_send_time <= self.rate_limit: time.sleep(1) try: opts = email_config().parse() From 36bae4bc7b0e8ec07fe5b2de62bc6ac07385e2af Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 14:03:38 -0700 Subject: [PATCH 36/80] ... --- src/calibre/gui2/email.py | 7 +++++-- src/calibre/gui2/preferences/emailp.py | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/email.py b/src/calibre/gui2/email.py index 14752f073b..2911222ba8 100644 --- a/src/calibre/gui2/email.py +++ b/src/calibre/gui2/email.py @@ -73,6 +73,11 @@ class Emailer(Thread): # {{{ self.jobs = Queue() self.job_manager = job_manager self._run = True + self.calculate_rate_limit() + + self.last_send_time = time.time() - self.rate_limit + + def calculate_rate_limit(self): self.rate_limit = 1 opts = email_config().parse() rh = opts.relay_host @@ -80,8 +85,6 @@ class Emailer(Thread): # {{{ 'gmail.com' in rh or 'live.com' in rh): self.rate_limit = 301 - self.last_send_time = time.time() - self.rate_limit - def stop(self): self._run = False self.jobs.put(None) diff --git a/src/calibre/gui2/preferences/emailp.py b/src/calibre/gui2/preferences/emailp.py index f0b079e209..19007dfcf1 100644 --- a/src/calibre/gui2/preferences/emailp.py +++ b/src/calibre/gui2/preferences/emailp.py @@ -170,6 +170,7 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): if not self.send_email_widget.set_email_settings(to_set): raise AbortCommit('abort') self.proxy['accounts'] = self._email_accounts.accounts + return ConfigWidgetBase.commit(self) def make_default(self, *args): @@ -188,6 +189,9 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self._email_accounts.remove(idx) self.changed_signal.emit() + def refresh_gui(self, gui): + gui.emailer.calculate_rate_limit() + if __name__ == '__main__': from PyQt4.Qt import QApplication From 77e43a398a754aa64c6ea4184f6ac79f0a12aa03 Mon Sep 17 00:00:00 2001 From: Translators <> Date: Fri, 26 Nov 2010 04:47:28 +0000 Subject: [PATCH 37/80] Launchpad automatic translations update. --- src/calibre/translations/cs.po | 116 +++-- src/calibre/translations/en_GB.po | 703 +++++++++++++++-------------- src/calibre/translations/es.po | 695 +++++++++++++++-------------- src/calibre/translations/eu.po | 697 +++++++++++++++-------------- src/calibre/translations/it.po | 704 ++++++++++++++++-------------- src/calibre/translations/nl.po | 701 +++++++++++++++-------------- src/calibre/translations/sr.po | 696 +++++++++++++++-------------- 7 files changed, 2341 insertions(+), 1971 deletions(-) diff --git a/src/calibre/translations/cs.po b/src/calibre/translations/cs.po index d1b9bf62eb..84685e4c63 100644 --- a/src/calibre/translations/cs.po +++ b/src/calibre/translations/cs.po @@ -8,13 +8,13 @@ msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2010-11-25 04:21+0000\n" -"PO-Revision-Date: 2010-11-24 22:10+0000\n" -"Last-Translator: Aleš Bajtalon \n" +"PO-Revision-Date: 2010-11-25 20:48+0000\n" +"Last-Translator: Marek Sušický \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-25 04:50+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -600,7 +600,7 @@ msgstr "Tento profil je určený pro Amazon Kindle DX." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 msgid "This profile is intended for the B&N Nook Color." -msgstr "" +msgstr "Tento profil je určen pro B&N Nook Color." #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." @@ -2736,19 +2736,19 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 msgid "Downloads metadata from french Nicebooks" -msgstr "" +msgstr "Stažení metadat z francouzského webu Nicebooks" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 msgid "Downloads covers from french Nicebooks" -msgstr "" +msgstr "Stažení obalů z francouzského webu Nicebooks" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 msgid "Nicebooks timed out. Try again later." -msgstr "" +msgstr "Vypršel časový limit. Zkuste dotaz později." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 msgid "An errror occured with Nicebooks cover fetcher" -msgstr "" +msgstr "Při stahování obalu z Nicebooks došlo k chybě" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 @@ -6202,6 +6202,9 @@ msgid "" "metadata and covers for them.

Any invalid ISBNs in the list will be " "ignored." msgstr "" +"

Zadejte seznam ISBN do pole na levé straně, na každý řádek jedno. Calibre " +"vytvoří automaticky položky pro knihy na základě ISBN a stáhne pro ně " +"metadata a obálky.

Neplatné ISBN v seznamu budou ignorovány." #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:50 msgid "&Paste from clipboard" @@ -7997,7 +8000,7 @@ msgstr "Kód zdroje (python)" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 msgid "No details available" -msgstr "" +msgstr "Žádné detaily nejsou k dispozici" #: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 msgid "Email %s to %s" @@ -8367,7 +8370,7 @@ msgstr "Kniha %s z %s." #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1236 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407 msgid "The lookup/search name is \"{0}\"" -msgstr "" +msgstr "Hledaný název je \"{0}\"" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:699 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1238 @@ -8956,13 +8959,15 @@ msgstr "Označený sloupec není uživatelsky definovaný" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:111 msgid "No lookup name was provided" -msgstr "" +msgstr "Nebyl zadán žádný název pro hledání" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:113 msgid "" "The lookup name must contain only lower case letters, digits and " "underscores, and start with a letter" msgstr "" +"Název pro vyhledání musí obsahovat pouze malá písmena, číslice a podtržítka, " +"a musí začínat písmenem" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:116 msgid "" @@ -8980,7 +8985,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:145 msgid "The heading %s is already used" -msgstr "" +msgstr "Záhlaví %s je již používáno." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column.py:156 msgid "You must enter a template for composite columns" @@ -9028,6 +9033,13 @@ msgid "" "

  • dd MMMM yy gives 05 January 10
  • \n" " " msgstr "" +"

    Formát datumu. Použijte 1-4 'd's pro den, 1-4 'M's pro měsíc, a 2 nebo 4 " +"'y's pro rok.

    \n" +"

    Například:\n" +"

      \n" +"
    • ddd, d MMM yyyy se zobrazí Mon, 5 Jan 2010
    • \n" +"
    • dd MMMM yy se zobrazí 05 January 10
    • \n" +"
    " #: /home/kovid/work/calibre/src/calibre/gui2/preferences/create_custom_column_ui.py:140 msgid "Use MMM yyyy for month + year, yyyy for year only" @@ -9105,7 +9117,7 @@ msgstr "Email" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:29 msgid "Formats to email. The first matching format will be sent." -msgstr "" +msgstr "Formáty pro e-mail. První odpovídající formát bude zaslán." #: /home/kovid/work/calibre/src/calibre/gui2/preferences/emailp.py:30 msgid "" @@ -9617,7 +9629,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:133 msgid "Restriction (saved search) to apply:" -msgstr "" +msgstr "Omezení (uložených vyhledávání) k použítí:" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:134 msgid "" @@ -9924,7 +9936,7 @@ msgstr "Zduplikovat hledané jméno" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:596 msgid "The saved search name %s is already used." -msgstr "" +msgstr "Uložené vyhledávací jméno %s je již používáno." #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:871 msgid "Sort by name" @@ -10302,7 +10314,7 @@ msgstr "Velikost standartního fontu v px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The monospaced font size in px" -msgstr "" +msgstr "Velikost fontu monospaced v px" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 msgid "The standard font type" @@ -10411,7 +10423,7 @@ msgstr "Náhled tisku" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" -msgstr "" +msgstr "Připojení k dict.org pro vyhledávání: %s…" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" @@ -10431,7 +10443,7 @@ msgstr "Načítam tok..." #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" -msgstr "" +msgstr "Rozvržení %s" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" @@ -10491,6 +10503,9 @@ msgid "" "\n" "View an ebook.\n" msgstr "" +"%prog [options] soubor\n" +"\n" +"Prohlédnout ebook.\n" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main_ui.py:189 msgid "E-book Viewer" @@ -10606,6 +10621,9 @@ msgid "" "your calibre book collection directly on the device. To do this you have to " "turn on the content server." msgstr "" +"Pokud používáte WordPlayer e-book aplikaci na Vašem Android telefonu, můžete " +"přistupovat k Vaší calibre kolekci přímo ze zařízení. Musíte ale nastartovat " +"content server." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" @@ -10639,6 +10657,8 @@ msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" msgstr "" +"

    Neplatná knihovna již existuje na %s, smažte ji před pokusem přesunout " +"existující knihovnu.
    Chyba: %s" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" @@ -10741,6 +10761,8 @@ msgid "" "

    Choose a location for your books. When you add books to calibre, they " "will be copied here. Use an empty folder for a new calibre library:" msgstr "" +"

    Zvolte umístění pro knihy. Když přidáváte knihy do calibre, musí být " +"nakopírovány zde. Použijte prázdnou složku pro novou calibre knihovnu:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -10840,6 +10862,8 @@ msgid "" "

    A mail server is useful if the service you are sending mail to only " "accepts email from well know mail services." msgstr "" +"

    Mail server je použitelný, pokud služba, přes kterou posíláte emaily, " +"akceptuje zprávy jen přes známé mailové služby." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Mail &Server" @@ -11102,6 +11126,9 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Zahrnout sekci 'Nedávno přidané' do katalogu.\n" +"Výchozí: '%default'\n" +"Použité na: ePub, MOBI výstupní formáty" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" @@ -11118,6 +11145,11 @@ msgid "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" msgstr "" +"Třiď názvy s prvním číslem jako textem, např.,\n" +"'2001: Vesmírná Odyssea' setřídit jako \n" +"'Dva Tisíce Jedna: Vesmírná Odyssea'.\n" +"Výchozí: '%default'\n" +"Aplikuje se na: ePub, MOBI výstupní formáty" #: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" @@ -11194,6 +11226,9 @@ msgid "" "\n" "List the books available in the calibre database.\n" msgstr "" +"%prog list [options]\n" +"\n" +"Seznam knih dostupných v calibre databáze.\n" #: /home/kovid/work/calibre/src/calibre/library/cli.py:130 msgid "" @@ -11416,7 +11451,7 @@ msgstr "Nastavení tohoto přepínače vypne toto chování." #: /home/kovid/work/calibre/src/calibre/library/cli.py:541 msgid "You must specify some ids or the %s option" -msgstr "" +msgstr "Musíte specifikovat nějaká IDčka, nebo %s volby" #: /home/kovid/work/calibre/src/calibre/library/cli.py:554 msgid "" @@ -11442,6 +11477,7 @@ msgid "" "A dictionary of options to customize how the data in this column will be " "interpreted." msgstr "" +"Slovník voleb pro nastavení, jak budou data ve sloupcích interpretována." #: /home/kovid/work/calibre/src/calibre/library/cli.py:580 msgid "You must specify label, name and datatype" @@ -11464,6 +11500,9 @@ msgid "" "If declared, --search is ignored.\n" "Default: all" msgstr "" +"Čárkami oddělený seznam databázových ID pro katalog.\n" +"Pokud je deklarováno, volba --search je ignorována.\n" +"Výchozí: all" #: /home/kovid/work/calibre/src/calibre/library/cli.py:659 msgid "" @@ -11503,6 +11542,8 @@ msgid "" "If the column stores multiple values, append the specified values to the " "existing ones, instead of replacing them." msgstr "" +"Pokud sloupec ukládá více hodnot, přidá zvolené hodnoty do jedné existující, " +"místo toho, aby se nahradila." #: /home/kovid/work/calibre/src/calibre/library/cli.py:749 msgid "Error: You must specify a field name, id and value" @@ -11611,12 +11652,16 @@ msgid "" "Comma-separated list of reports.\n" "Default: all" msgstr "" +"Čárkou oddělený seznam reportů.\n" +"Výchozí: all" #: /home/kovid/work/calibre/src/calibre/library/cli.py:893 msgid "" "Comma-separated list of extensions to ignore.\n" "Default: all" msgstr "" +"Čárkami oddělený seznam ignorovaných přípon.\n" +"Výchozí: all" #: /home/kovid/work/calibre/src/calibre/library/cli.py:897 msgid "" @@ -11648,10 +11693,11 @@ msgid "" "Really do the recovery. The command will not run unless this option is " "specified." msgstr "" +"Opravdu proveď obnovu. Příkaz nebude spuštěn, dokud je volba zvolena." #: /home/kovid/work/calibre/src/calibre/library/cli.py:988 msgid "You must provide the --really-do-it option to do a recovery" -msgstr "" +msgstr "Musíte použít volbu --realy-do-it-option , aby se obnova provedla" #: /home/kovid/work/calibre/src/calibre/library/cli.py:1025 msgid "" @@ -11672,6 +11718,8 @@ msgid "" "The character to put around the category value in CSV mode. Default is " "quotes (\")." msgstr "" +"Znak, který se umístí kolem hodnoty kategorie v CSV módu. Výchozí jsou " +"uvozovky (\")." #: /home/kovid/work/calibre/src/calibre/library/cli.py:1041 msgid "" @@ -11701,7 +11749,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:544 msgid "No label was provided" -msgstr "" +msgstr "Nebyl vložen žádný popisek" #: /home/kovid/work/calibre/src/calibre/library/custom_columns.py:546 msgid "" @@ -11721,7 +11769,7 @@ msgstr "Hlavní" #: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " -msgstr "" +msgstr "

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

    " #: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" @@ -11729,7 +11777,7 @@ msgstr "Kopírování %s" #: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" -msgstr "" +msgstr "Zhutňování databáze" #: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." @@ -11788,6 +11836,8 @@ msgid "" "The series number. To get leading zeros use {series_index:0>3s} or " "{series_index:>3s} for leading spaces" msgstr "" +"Číslo série. Pro získání úvodních nul použijte {series_index:0>3s} nebo " +"{series_index:>3s} pro úvodní mezery" #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:41 msgid "The rating" @@ -11828,18 +11878,23 @@ msgid "" "Normally, calibre will write the metadata into a separate OPF file along " "with the actual e-book files." msgstr "" +"Calibre zapíše metadata do odděleného OPF souboru k aktuálním e-book " +"souborům." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:68 msgid "" "Normally, calibre will save the cover in a separate file along with the " "actual e-book file(s)." msgstr "" +"Calibre uloží obálku knihy do odděleného souboru k aktuálním e-book souborům." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:71 msgid "" "Comma separated list of formats to save for each book. By default all " "available formats are saved." msgstr "" +"Čárkou oddělený seznam formátů pro uložení pro každou knihu. Ve výchozím " +"nastavení se uloží všechny dostupné formáty." #: /home/kovid/work/calibre/src/calibre/library/save_to_disk.py:74 msgid "" @@ -11922,6 +11977,8 @@ msgid "" "The maximum number of matches to return per OPDS query. This affects Stanza, " "WordPlayer, etc. integration." msgstr "" +"Nejvyšší počet výsledů vrácený přes OPDS dotaz. Toto ovlivní Stanza, " +"WordPlayer a další integrace." #: /home/kovid/work/calibre/src/calibre/library/server/__init__.py:43 msgid "" @@ -12077,7 +12134,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:52 msgid "Path to the library folder to serve with the content server" -msgstr "" +msgstr "Cesta ke knihovně pro content server" #: /home/kovid/work/calibre/src/calibre/library/server/main.py:54 msgid "Write process PID to the specified file" @@ -12142,6 +12199,7 @@ msgid "" "Whenever you pass arguments to %prog that have spaces in them, enclose the " "arguments in quotation marks." msgstr "" +"Kdykoliv předáváte argument %prog , který obsahuje mezery, použijte uvozovky." #: /home/kovid/work/calibre/src/calibre/utils/config.py:697 msgid "Path to the database in which books are stored" @@ -12420,6 +12478,8 @@ msgstr "Heslo pro stránky, které vyžadují přihlášení pro přístup k obs msgid "" "Do not download latest version of builtin recipes from the calibre server" msgstr "" +"Nestahovat poslední verzi zabudovaných skriptů pro stahování zpráv z calibre " +"serveru" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:47 msgid "Unknown News Source" @@ -12439,7 +12499,7 @@ msgstr "Nepodařilo se stáhnout následující články:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:735 msgid "Failed to download parts of the following articles:" -msgstr "" +msgstr "Nepodařilo se stáhnout části následujících článků:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:737 msgid " from " @@ -12451,15 +12511,15 @@ msgstr "\tChybné odkazy:" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:834 msgid "Could not fetch article. Run with -vv to see the reason" -msgstr "" +msgstr "Nelze získat článek. Spustit s parametrem -w pro zobrazení důvodů." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:855 msgid "Fetching feeds..." -msgstr "" +msgstr "Stahuji zdroje..." #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:860 msgid "Got feeds from index page" -msgstr "" +msgstr "Získány zdroje z úvodní strany" #: /home/kovid/work/calibre/src/calibre/web/feeds/news.py:869 msgid "Trying to download cover..." diff --git a/src/calibre/translations/en_GB.po b/src/calibre/translations/en_GB.po index 1e7b29221c..2db41174d9 100644 --- a/src/calibre/translations/en_GB.po +++ b/src/calibre/translations/en_GB.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 22:52+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 19:45+0000\n" +"Last-Translator: Vladimir Oka \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-11-20 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,7 +27,7 @@ msgstr "Does absolutely nothing" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -55,7 +55,7 @@ msgstr "Does absolutely nothing" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -74,9 +74,9 @@ msgstr "Does absolutely nothing" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -89,7 +89,7 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -109,8 +109,8 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -121,15 +121,15 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -138,13 +138,13 @@ msgstr "Does absolutely nothing" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -185,9 +185,9 @@ msgstr "User Interface Action" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Preferences" @@ -267,44 +267,44 @@ msgstr "Set metadata in %s files" msgid "Set metadata from %s files" msgstr "Set metadata from %s files" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Look and Feel" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Adjust the look and feel of the calibre interface to suit your tastes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Behaviour" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Change the way calibre behaves" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Add your own columns" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Add/remove your own columns to the calibre book list" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Customise the toolbar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -312,56 +312,56 @@ msgstr "" "Customise the toolbars and context menus, changing which actions are " "available in each" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Input Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Conversion" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "Set conversion options specific to each input format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Common Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Set conversion options common to all formats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Output Options" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "Set conversion options specific to each output format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Import/Export" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "Control how calibre reads metadata from files when adding books" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Saving books to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -369,32 +369,32 @@ msgstr "" "Control how calibre exports files from its database to disc when using Save " "to disc" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Sending books to devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Control how calibre transfers files to your ebook reader" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Metadata plugboards" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Change metadata fields before saving/sending" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Sharing books by email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Sharing" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -402,11 +402,11 @@ msgstr "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Sharing over the net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -414,33 +414,33 @@ msgstr "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Advanced" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Add/remove/customise various bits of calibre functionality" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Fine tune how calibre behaves in various contexts" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Miscellaneous" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Miscellaneous advanced configuration" @@ -603,7 +603,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "This profile is intended for the Amazon Kindle DX." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "This profile is intended for the B&N Nook Color." + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "This profile is intended for the Sanda Bambook." @@ -766,16 +770,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "News" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Catalogue" @@ -877,8 +881,8 @@ msgstr "Communicate with the SpringDesign Alex eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -967,26 +971,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Getting list of books on device..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Removing books from device metadata listing..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Adding books to device metadata listing..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Not Implemented" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -2249,7 +2253,7 @@ msgid "Path to output file" msgstr "Path to output file" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Verbose processing" @@ -2629,6 +2633,7 @@ msgid "No cover found" msgstr "No cover found" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Cover download" @@ -2696,19 +2701,19 @@ msgstr "description/reviews" msgid "Download %s from %s" msgstr "Download %s from %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Convert comments downloaded from %s to plain text" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Downloads metadata from Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Downloads metadata from isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2716,15 +2721,15 @@ msgstr "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Downloads social metadata from amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Downloads series/tags/rating information from librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2748,23 +2753,24 @@ msgstr "" "isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "The ISBN ID of the book you want metadata for." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "The author whose book to search for." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "The title of the book to search for." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "The publisher of the book to search for." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " not found." @@ -2782,6 +2788,22 @@ msgstr "" "Fetch a cover image/social metadata for the book identified by ISBN from " "LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "Downloads metadata from french Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "Downloads covers from french Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "Nicebooks timed out. Try again later." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "An errror occured with Nicebooks cover fetcher" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -2938,7 +2960,7 @@ msgstr "Footnotes" msgid "Sidebar" msgstr "Sidebar" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -2948,7 +2970,7 @@ msgstr "" "Normally calibre treats blank lines as paragraph markers. With this option " "it will assume that every line represents a paragraph instead." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3493,7 +3515,7 @@ msgid "Disable UI animations" msgstr "Disable UI animations" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Copied" @@ -3666,7 +3688,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Add books to your calibre library from the connected device" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Fetch annotations (experimental)" @@ -3763,7 +3785,7 @@ msgid "Checking database integrity" msgstr "Checking database integrity" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3779,15 +3801,15 @@ msgstr "Some inconsistencies found" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -3969,6 +3991,10 @@ msgstr "Cannot convert" msgid "Starting conversion of %d book(s)" msgstr "Starting conversion of %d book(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "Empty output file, probably the conversion process crashed" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Copy to library" @@ -4003,7 +4029,7 @@ msgid "Could not copy books: " msgstr "Could not copy books: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4066,14 +4092,14 @@ msgid "Main memory" msgstr "Main memory" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Storage Card A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Storage Card B" @@ -4319,6 +4345,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Run welcome wizard" @@ -4549,7 +4576,7 @@ msgid "The specified directory could not be processed." msgstr "The specified directory could not be processed." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "No books" @@ -6108,103 +6135,103 @@ msgstr "tags to add" msgid "tags to remove" msgstr "tags to remove" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No details available." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Device no longer connected." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Get device information" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Get list of books on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Get annotations from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Send metadata to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Send collections to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Upload %d books to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Delete books from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Download books from device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "View book on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Set default send to device action" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Send to main memory" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Send to storage card A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Send to storage card B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Main Memory" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Send specific format to" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Send and delete from library" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Eject device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Error communicating with device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "No suitable formats" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Select folder to open as device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Error talking to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6212,114 +6239,59 @@ msgstr "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Device: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " detected." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "selected to send" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Choose format to send to device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "No device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Cannot send: No device is connected" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "No card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Cannot send: Device has no storage card" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "E-book:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "Attached, you will find the e-book" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "by" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "in the %s format." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Sending email to" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "Auto convert the following books before sending via email?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"Could not email the following books as no suitable formats were found:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Failed to email books" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Failed to email the following books:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Sent by email:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "News:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Attached is the" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Sent news to" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "Auto convert the following books before uploading to the device?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Sending catalogues to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Sending news to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Sending books to device." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6327,11 +6299,11 @@ msgstr "" "Could not upload the following books to the device, as no suitable formats " "were found. Convert the book(s) to a format supported by your device first." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "No space on device" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6523,7 +6495,7 @@ msgid "No location selected" msgstr "No location selected" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Bad location" @@ -8028,7 +8000,7 @@ msgid "Discard changes" msgstr "Discard changes" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Cancel" @@ -8234,6 +8206,69 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Recipe source code (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "No details available" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "Email %s to %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "News:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Attached is the" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "E-book:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "Attached, you will find the e-book" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "by" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "in the %s format." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Sending email to" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "Auto convert the following books before sending via email?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"Could not email the following books as no suitable formats were found:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Failed to email books" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Failed to email the following books:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Sent by email:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Sent news to" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "No matches for the search phrase %s were found." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "No matches found" @@ -8681,12 +8716,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Viewer toolbar" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Next Page" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Previous Page" @@ -8730,7 +8765,7 @@ msgid "Do not check for updates" msgstr "Do not check for updates" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Calibre Library" @@ -9437,27 +9472,27 @@ msgstr "Show &text under icons:" msgid "&Split the toolbar into two toolbars" msgstr "&Split the toolbar into two toolbars" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Apply" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Restore &defaults" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Save changes" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Cancel and return to overview" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Restoring to defaults not supported for" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9465,7 +9500,7 @@ msgstr "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9473,7 +9508,7 @@ msgstr "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Restart needed" @@ -9820,7 +9855,7 @@ msgstr "" "by customising the device interface plugins in Preferences->Advanced->Plugins" #: /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:331 msgid "Failed to start content server" msgstr "Failed to start content server" @@ -10181,7 +10216,7 @@ msgstr "" "Changing the metadata for that many books can take a while. Are you sure?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Searches" @@ -10274,28 +10309,28 @@ msgstr "" "The following books have already been converted to %s format. Do you wish to " "reconvert them?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Restore" -#: /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 "&Donate to support calibre" -#: /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 "&Eject connected device" -#: /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 "Calibre Quick Start Guide" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Conversion Error" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10303,15 +10338,15 @@ msgstr "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Recipe Disabled" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Failed" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10321,11 +10356,11 @@ msgstr "" "you find it useful, please consider donating to support its development. " "Your donation helps keep calibre development going." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "There are active jobs. Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10335,11 +10370,11 @@ msgstr "" " Quitting may cause corruption on the device.
    \n" " Are you sure you want to quit?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "WARNING: Active jobs" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10522,7 +10557,7 @@ msgid "Options to customize the ebook viewer" msgstr "Options to customise the ebook viewer" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Remember last used window size" @@ -10579,36 +10614,36 @@ msgstr "The monospaced font size in px" msgid "The standard font type" msgstr "The standard font type" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Lookup in dictionary" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Go to..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Next Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Previous Section" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Document Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Document End" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Section Start" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Section End" @@ -10676,87 +10711,87 @@ msgstr "Go to a reference. To get reference numbers, use the reference mode." msgid "Search for text in book" msgstr "Search for text in book" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Print Preview" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Connecting to dict.org to lookup: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Choose ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Ebooks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "No matches found for: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Loading flow..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Laying out %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Bookmark #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Add bookmark" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Enter title for bookmark:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Manage Bookmarks" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Loading ebook..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "DRM Error" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "

    This book is protected by DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "Could not open ebook" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Options to control the ebook viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 -msgid "" -"If specified, viewer window will try to come to the front when started." -msgstr "" -"If specified, viewer window will try to come to the front when started." - #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" +"If specified, viewer window will try to come to the front when started." +msgstr "" +"If specified, viewer window will try to come to the front when started." + +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "If specified, viewer window will try to open full screen when started." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript alert and console messages to the console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -10874,7 +10909,7 @@ msgstr "Hide" msgid "Toggle" msgstr "Toggle" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10884,7 +10919,7 @@ msgstr "" "your calibre book collection directly on the device. To do this you have to " "turn on the content server." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -10892,7 +10927,7 @@ msgstr "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10902,20 +10937,20 @@ msgstr "" "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " "address of the computer calibre is running on." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Moving library..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Failed to move library" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Invalid database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -10923,21 +10958,21 @@ msgstr "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Could not move library" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Select location for books" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "You must choose an empty folder for the calibre library. %s is not empty." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "welcome wizard" @@ -11022,11 +11057,11 @@ msgstr "Choose your &language:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11380,7 +11415,7 @@ msgstr "" "Default: '%default'\n" "Applies to: BIBTEX output format" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11390,7 +11425,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11404,7 +11439,7 @@ msgstr "" "Default: '%default'None\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11414,7 +11449,7 @@ msgstr "" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11428,7 +11463,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11438,7 +11473,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11448,7 +11483,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11458,7 +11493,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11468,7 +11503,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11482,7 +11517,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11498,7 +11533,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11508,7 +11543,7 @@ msgstr "" "Default: '%default'\n" "Applies to: ePub, MOBI output formats" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12230,31 +12265,31 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sAverage rating is %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Main" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " msgstr "

    Migrating old database to ebook library in %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Copying %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Compacting database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Checking SQL integrity..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Checking for missing files." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "Checked id" @@ -12934,7 +12969,7 @@ msgstr "Failed to negotiate SSH session: " msgid "Failed to authenticate with server: %s" msgstr "Failed to authenticate with server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Control email delivery" @@ -13565,6 +13600,17 @@ msgstr "Do not download CSS stylesheets." #~ "Average line length for line breaking if the HTML is from a previous partial " #~ "conversion of a PDF file. Default is %default which disables this." +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." + #~ msgid "" #~ "Regular expression: the expression must match anywhere in the metadata" #~ msgstr "" @@ -13582,3 +13628,10 @@ msgstr "Do not download CSS stylesheets." #~ msgstr "" #~ "Dont forget to enter your gmail username and password. You can sign up for a " #~ "free gmail account at http://gmail.com" + +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" diff --git a/src/calibre/translations/es.po b/src/calibre/translations/es.po index 1ddd21c36d..4c5404e084 100644 --- a/src/calibre/translations/es.po +++ b/src/calibre/translations/es.po @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-20 21:16+0000\n" -"Last-Translator: Jellby \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 22:52+0000\n" +"Last-Translator: Fitoschido \n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-21 04:47+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:47+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/profiles.py:502 @@ -46,7 +46,7 @@ msgstr "No hace absolutamente nada" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -74,7 +74,7 @@ msgstr "No hace absolutamente nada" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -93,9 +93,9 @@ msgstr "No hace absolutamente nada" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -108,7 +108,7 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -128,8 +128,8 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -140,15 +140,15 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -157,13 +157,13 @@ msgstr "No hace absolutamente nada" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -204,9 +204,9 @@ msgstr "Acción de interfaz de usuario" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Preferencias" @@ -286,45 +286,45 @@ msgstr "Asignar metadatos a los archivos %s" msgid "Set metadata from %s files" msgstr "Establecer metadatos desde archivos %s" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Aspecto Visual y Apariencia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interfaz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Ajuste la apariencia y sensación de la interfaz de calibre para que se " "adapte a sus gustos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Comportamiento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Cambiar el comportamiento de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Añadir sus propias columnas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Añada/elimine sus propias columnas en la lista de libros de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Personalizar la barra de herramientas" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -332,60 +332,60 @@ msgstr "" "Personaliza las barras de herramientas y los menús de contexto, cambiando " "las acciones que estarán disponible en cada uno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Opciones de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Conversión" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "" "Establecer las opciones de conversión específicas de cada formato de entrada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Opciones comunes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "" "Establecer las opciones de conversión comunes para todos los formatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Opciones de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "" "Establece las opciones específicas de conversión para cada formato de salida" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Importar/Exportar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controla cuándo calibre lee los metadatos de los archivos al añadir libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Guardar libros en disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -393,33 +393,33 @@ msgstr "" "Controla cuándo calibre exporta archivos de su base de datos al dicos al " "usar Guardar al disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Enviar libros a dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Controla cuándo calibre transfiere los archivos a su lector de libros" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Control de metadatos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Cambiar los cambpos de metadatos antes de guardar/enviar" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Compartir de libros por correo" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Compartir" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -427,11 +427,11 @@ msgstr "" "Configurar la compartición de libros por correo electrónico. Puede usarse " "para enviar automáticamente las noticias descargadas a sus dispositivos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Compartir por red" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -440,33 +440,33 @@ msgstr "" "biblioteca de calibre en cualquier lugar, con cualquier dispositivo, a " "través de Internet." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Complementos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Avanzada" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Añadir/eliminar/configurar diversas funciones de calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Ajustes" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Ajuste como se comporta calibre en diversos contextos" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Miscelánea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Configuración miscelánea avanzada" @@ -620,7 +620,11 @@ msgstr "Este perfil está pensado para el SONY PRS-300." msgid "This profile is intended for the 5-inch JetBook." msgstr "Este perfil está pensado para el JetBook de 5 pulgadas." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Este perfil está pensado para el Sandra Bambook." @@ -785,16 +789,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Noticias" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Catálogo" @@ -896,8 +900,8 @@ msgstr "Comunicar con el lector Alex de SpringDesign." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -986,26 +990,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Obteniendo la lista de libros en el dispositivo ..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Eliminando libros del listado de metatados del dispositivo..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Añadiendo libros al listado de metatados del dispositivo..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "No implementado" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -2298,7 +2302,7 @@ msgid "Path to output file" msgstr "Ruta del fichero de salida" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Procesado detallado" @@ -2682,6 +2686,7 @@ msgid "No cover found" msgstr "No se encontro ninguna portada" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Descarga de portadas" @@ -2752,19 +2757,19 @@ msgstr "descripción/reseñas" msgid "Download %s from %s" msgstr "Descargar %s desde %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Convertir los comentarios descargados de %s en texto simple" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Descarga metadatos de Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Descarga metadatos de isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2772,16 +2777,16 @@ msgstr "" "Para usar isbndb.com debe registrar una %scuenta gratuita%s e introducir su " "clave de acceso debajo." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Descarga metadatos sociales de amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" "Descargar información de serie/etiquetas/calificación de librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2805,23 +2810,24 @@ msgstr "" "una cuenta gratuita en isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "El ISBN del libro cuyos metadatos se desean." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "El autor cuyo libro se quiere buscar." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "El título del libro que se quiere buscar." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "La editorial del libro que se quiere buscar." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " no encontrado." @@ -2839,6 +2845,22 @@ msgstr "" "Obtiene metadatos sociales o la imagen de portada de LibraryThing.com del " "libro identificado por el ISBN.\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -3000,7 +3022,7 @@ msgstr "Notas al pie" msgid "Sidebar" msgstr "Recuadro" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -3010,7 +3032,7 @@ msgstr "" "Normalmente calibre interpreta las líneas en blanco como marcas de párrafo. " "Con esta opción se interpreta que cada línea es un párrafo separado." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3573,7 +3595,7 @@ msgid "Disable UI animations" msgstr "Desactivar animaciones de la interfaz" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Copiado" @@ -3752,7 +3774,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Añadir libros a la biblioteca de calibre a partir del dispositivo" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Obtener anotaciones (experimental)" @@ -3849,7 +3871,7 @@ msgid "Checking database integrity" msgstr "Comprobando la integridad de la base de datos" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3865,15 +3887,11 @@ msgstr "Se encontraron incoherencias" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"Los siguientes libros tiene formatos especificados en la base de datos que " -"no están disponibles en realidad. Las entradas estos formatos se han " -"eliminado. Debería comprobarlos manualmente. Esto puede ocurrir si manipula " -"los ficheros de la carpeta de la biblioteca directamente." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -4058,6 +4076,10 @@ msgstr "No se puede convertir" msgid "Starting conversion of %d book(s)" msgstr "Iniciando la conversión de %d libro(s)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Copiar a la biblioteca" @@ -4092,7 +4114,7 @@ msgid "Could not copy books: " msgstr "No se pudieron copiar estos libros: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4155,14 +4177,14 @@ msgid "Main memory" msgstr "Memoria principal" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Tarjeta de almacenamiento A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Tarjeta de almacenamiento B" @@ -4407,6 +4429,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Ejecutar el asistente de bienvenida" @@ -4638,7 +4661,7 @@ msgid "The specified directory could not be processed." msgstr "El directorio especificado no se puede procesar." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Sin libros" @@ -6210,103 +6233,103 @@ msgstr "etiquetas a añadir" msgid "tags to remove" msgstr "etiquetas a eliminar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "No hay detalles disponibles." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "El dispositivo ya no esta conectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Obtener información del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Obtener lista de libros en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Obtener anotaciones del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Enviar metadatos al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Enviar colecciones al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Pasar %d libros al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Borrar libros del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Obtener libros del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Ver libro en el dispositvo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Asignar acción de enviar al dispositivo por defecto" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Enviar a la memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Enviar a la tarjeta de memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Enviar a la tarjeta de memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Memoria principal" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Enviar formato especifico para" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Enviar y eliminar de la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Desconectar dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Error en la comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "No hay formatos adecuados" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Seleccionar carpeta para abrir como un dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Error de comunicación con el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6314,119 +6337,61 @@ msgstr "" "Hubo un error de comunicación con el dispositivo. Desconecte y vuelva a " "conectar el dispositivo o reinicie la aplicación." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " detectado." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "elegido para enviar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Elige el formato para enviar al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Sin dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "No se pudo enviar: no hay ningún dispositivo conectado" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Sin tarjeta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "No se pudo enviar: el dispositivo no tiene tarjeta de memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "Libro electrónico:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "El libro electrónico está adjunto" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "por" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "en el formato %s." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Enviando correo electrónico a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" -"¿Convertir automáticamente los siguientes libros antes de enviar por correo " -"electrónico?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"No se pudieron enviar por correo electrónico los siguientes libros porque no " -"se encontraron formatos compatibles:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Fallo al enviar libros por correo electrónico" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Fallo al enviar por correo electrónico los siguientes libros:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Enviado por correo electrónico:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Noticias:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Adjunto está el" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Enviar noticias a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "¿Convertir automáticamente los siguientes libros antes de pasarlos al " "dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Enviando catálogos al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Enviando noticias al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Enviando libros al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6435,11 +6400,11 @@ msgstr "" "encontraron formatos adecuados. Convierta el(los) libro(s) a un formato " "soportado por su dispositivo antes de volver a intentarlo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "No hay espacio en el dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6636,7 +6601,7 @@ msgid "No location selected" msgstr "Sin ubicación seleccionada" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Ubicación incorrecta" @@ -8182,7 +8147,7 @@ msgid "Discard changes" msgstr "Descartar los cambios" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Cancelar" @@ -8390,6 +8355,72 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Código fuente de la receta (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "Enviar por correo electrónico %s a %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Noticias:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Adjunto está el" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "Libro electrónico:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "El libro electrónico está adjunto" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "por" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "en el formato %s." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Enviando correo electrónico a" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" +"¿Convertir automáticamente los siguientes libros antes de enviar por correo " +"electrónico?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"No se pudieron enviar por correo electrónico los siguientes libros porque no " +"se encontraron formatos compatibles:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Fallo al enviar libros por correo electrónico" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Fallo al enviar por correo electrónico los siguientes libros:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Enviado por correo electrónico:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Enviar noticias a" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No se encontraron coincidencias para la búsqueda \"%s\"." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "No se encontraron coincidencias" @@ -8840,12 +8871,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra de herramientas del visor de LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Página siguiente" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Página anterior" @@ -8889,7 +8920,7 @@ msgid "Do not check for updates" msgstr "No comprobar actualizaciones" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Biblioteca de calibre" @@ -9622,28 +9653,28 @@ msgstr "Mostrar &texto bajo los iconos:" msgid "&Split the toolbar into two toolbars" msgstr "&Dividir la barra de herramientas en dos" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Aplicar" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Restaurar opciones &predeterminadas" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Guardar cambios" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Cancelar y volver a la panorámica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "" "La restauración de las opciones predeterminadas no está soportada para" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9651,7 +9682,7 @@ msgstr "" "Algunos cambios requieren que reinicie. Por favor, reinicie calibre cuanto " "antes." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9660,7 +9691,7 @@ msgstr "" "no podrá realizar ningún otro ajuste ni podrá elegir sus preferencias hasta " "que la operación de reinicio concluya." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Se requiere reiniciar" @@ -10014,7 +10045,7 @@ msgstr "" "dispositivo en Preferencias->Complementos" #: /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:331 msgid "Failed to start content server" msgstr "Fallo al iniciar el servidor de contenidos" @@ -10381,7 +10412,7 @@ msgstr "" "Cambiar los metadatos de muchos libros puede tardar un rato. ¿Está seguro?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Búsquedas" @@ -10475,28 +10506,28 @@ msgstr "" "Los siguientes libros ya han sido convertidos al formato %s. ¿Desea volver a " "convertirlos?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Restaurar" -#: /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 "&Donar para apoyar a calibre" -#: /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 "&Desconectar dispositivo conectado" -#: /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 "Guía de inicio rápido de calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Error de conversión" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10505,15 +10536,15 @@ msgstr "" "href=\"%s\">DRM. Debe eliminar primero el DRM con herramientas de " "terceros." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Receta deshabilitada" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Fallo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10523,11 +10554,11 @@ msgstr "" "lo encuentra útil, considere donar para apoyar su desarrollo. Su donación es " "lo que hace que el desarrollo de calibre continúe." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Hay tareas activas. ¿Está seguro de que quiere salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10538,11 +10569,11 @@ msgstr "" "de datos en el dispositivo.
    \n" " ¿Está seguro de que desea salir?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "AVISO: Tareas activas" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10728,7 +10759,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opciones para personalizar el visor de libros electrónicos" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "&Recordar el último tamaño de ventana usado" @@ -10787,36 +10818,36 @@ msgstr "El tamaño de letra monoespaciada en px" msgid "The standard font type" msgstr "El tipo de letra estándar" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Localizar en el diccionario" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ir a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Siguiente sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Sección anterior" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Inicio del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Final del documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Inicio de la sección" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Final de la sección" @@ -10886,88 +10917,88 @@ msgstr "" msgid "Search for text in book" msgstr "Buscar un texto en el libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Previsualización de impresión" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Conectando con dict.org para buscar: %s..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Elegir libro electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Libros electrónicos" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "No se encontraron correspondencias para: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Cargando flujo..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Disponiendo %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Marcador #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Añadir marcador" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Introducir el título del marcador:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Administrar marcadores" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Cargando libro electrónico..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "Error de DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "

    Este libro está protegido por DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "No se pudo abrir el libro electrónico" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Opciones para controlar el visor de libros electrónicos" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Si se especifica, la ventana del visor intentará situarse en el frente " "cuando se inicie el programa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Si se activa, la ventana del visor tratará de iniciarse a pantalla completa." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Dirigir alertas de javascript y mensajes de consola a la consola" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -11085,7 +11116,7 @@ msgstr "Ocultar" msgid "Toggle" msgstr "Alternar" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11095,7 +11126,7 @@ msgstr "" "Android, puede acceder a su colección de libros de calibre directamente con " "él. Para ello debe activar el servidor de contenidos." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11103,7 +11134,7 @@ msgstr "" "Recuerde dejar calibre en ejecución, el servidor sólo funciona mientras " "calibre se está ejecutando." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11113,20 +11144,20 @@ msgstr "" "WordPlayer, donde miservidor es el nombre de servidor completo o la " "dirección IP del equipo donde se ejecuta calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Moviendo la biblioteca..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Fallo al mover la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Base de datos no valida" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -11134,22 +11165,22 @@ msgstr "" "

    Ya existe una biblioteca no válida en %s, bórrela antes de intentar mover " "la biblioteca actual.
    Error: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "No se pudo mover la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Seleccionar ubicación para los libros" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Debe elegir una carpeta vacía para la biblioteca de calibre. %s no está " "vacía." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "asistente de bienvenida" @@ -11236,11 +11267,9 @@ msgstr "Elija su &idioma:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Escoja una ubicación para los libros. Cuando añada libros en calibre serán " -"copiados aquí:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11603,7 +11632,7 @@ msgstr "" "Valor predeterminado: '%default'\n" "Aplicable a: formato de salida BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11613,7 +11642,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11627,7 +11656,7 @@ msgstr "" "Valor por defecto: '%default'None\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11639,7 +11668,7 @@ msgstr "" "ejemplo '[]'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11653,7 +11682,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11663,7 +11692,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11673,7 +11702,7 @@ msgstr "" "Por defecto: '%default'\n" "Aplicar a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11683,7 +11712,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11694,7 +11723,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11708,7 +11737,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11723,7 +11752,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub y MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11733,7 +11762,7 @@ msgstr "" "Valor por defecto: '%default'\n" "Aplicable a: formatos de salida ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12469,33 +12498,33 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sCalificación promedio es %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Principal" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" "

    Migrando la base de datos antigua a la biblioteca de libros electrónicos " "en %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Compactando la base de datos" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Comprobando la integridad de SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Comprobando ficheros inexistentes." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "ID comprobado" @@ -13186,7 +13215,7 @@ msgstr "No se pudo establecer la sesión SSH: " msgid "Failed to authenticate with server: %s" msgstr "No se pudo autenticar con el servidor: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Controlar el envío de correo electrónico" @@ -15634,6 +15663,13 @@ msgstr "No descargar estilos CSS." #~ "href=\"http://calibre.kovidgoyal.net/user_manual\">en línea el Manual de " #~ "usuario." +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Escoja una ubicación para los libros. Cuando añada libros en calibre serán " +#~ "copiados aquí:" + #~ msgid "Finish gmail setup" #~ msgstr "Terminar la configuración de gmail" @@ -15673,6 +15709,17 @@ msgstr "No descargar estilos CSS." #~ msgid "&Check database integrity" #~ msgstr "&Comprobar la integridad de la base de datos" +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "Los siguientes libros tiene formatos especificados en la base de datos que " +#~ "no están disponibles en realidad. Las entradas estos formatos se han " +#~ "eliminado. Debería comprobarlos manualmente. Esto puede ocurrir si manipula " +#~ "los ficheros de la carpeta de la biblioteca directamente." + #~ msgid "" #~ "\n" diff --git a/src/calibre/translations/eu.po b/src/calibre/translations/eu.po index a45e09bfba..5b14b52c77 100644 --- a/src/calibre/translations/eu.po +++ b/src/calibre/translations/eu.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-23 09:36+0000\n" -"Last-Translator: Asier Sarasua Garmendia \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 23:44+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-11-24 04:56+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:45+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,7 +27,7 @@ msgstr "Ez du ezer egiten" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -55,7 +55,7 @@ msgstr "Ez du ezer egiten" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -74,9 +74,9 @@ msgstr "Ez du ezer egiten" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -89,7 +89,7 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -109,8 +109,8 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -121,15 +121,15 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -138,13 +138,13 @@ msgstr "Ez du ezer egiten" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -185,9 +185,9 @@ msgstr "Erabiltzailearen interfaze ekintza" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Hobespenak" @@ -267,45 +267,45 @@ msgstr "Ezarri metadatuak %s fitxategietan" msgid "Set metadata from %s files" msgstr "Ezarri metadatuak %s fitxategietatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Itxura eta izaera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interfazea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Doi ezazu calibreren interfazearen itxura zure gustuen arabera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Jokabidea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Alda ezazu calibreren jokatzeko era" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Gehi itzazu zureak diren zutabeak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Gehitu/ezabatu itzazu zuk egindako zure zutabeak calibreren liburu " "zerrendara/zerrendatik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Pertsonalizatu tresna-barra" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -313,58 +313,58 @@ msgstr "" "Pertsonalizatu tresna-barra eta testuinguruaren araberako menuak, bakoitzean " "eskuragarri agertuko diren ekintzekin aldatuz." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Sorburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Bihurketa" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "Ezarri itzazu sorburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Aukera komunak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Ezarri itzazu formatu guztietarako komunak diren bihurketa aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Helburu aukerak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "Ezarri itzazu helburu formatu bakoitzeko bihurketa aukera zehatzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Liburuak gehitzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Inportatu/Esportatu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrola ezazu calibrek nola irakurtzen dituen metadatuak fitxategietatik " "liburuak gehitzerakoan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Liburuak diskan gordetzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -372,34 +372,34 @@ msgstr "" "Kontrola ezazu calibrek nola esportatzen dituen fitxategiak bere datu " "basetik diskora \"Diskoan gorde\" aukera erabiltzen denean." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Bidaltzen liburuak gailuetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "" "Kontrola ezazu ea calibrek nola bidaltzen dituen fitxategiak zure liburu " "elektronikoetara" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Metadatuen konektore-txartela" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Aldatu metadatu eremuak gorde/igorri baino lehenago" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Liburuak e-posta bidez partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Partekatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -407,11 +407,11 @@ msgstr "" "Antolatu liburuen elkarbanatzea e-postaren bidez. Saretik deskargatutako " "albisteak norbere gailuetara automatikoki bidaltzeko erabil daiteke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Sarean zehar elkarbanatzen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -420,35 +420,35 @@ msgstr "" "interneten bidezko sarbidea emango dizun edozein lekutan eta edozein " "gailuren bidez" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Pluginak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Aurreratua" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Gehitu/ezabatu/pertsonalizatu calibreren zenbait aukera" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Doikuntzak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "" "Afina ezazu zehaztasun handiz nola jokatuko duen calibrek hainbat " "testuingurutan" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Denetarik" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Hainbat gauzetarako ezarpen aurreratuak" @@ -617,7 +617,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Profil hau Amazon Kindle DX-arentzat zuzendua dago." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "Profil hau B&N Nook Color horrentzat sortu da." + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Sanda Bambook horrentzat egindako profila." @@ -788,16 +792,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Albisteak" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Katalogoa" @@ -900,8 +904,8 @@ msgstr "Jar zaitez harremanetan \"SpringDesign Alex eBook reader\" horrekin." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -990,26 +994,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Liburu zerrenda gailutik eskuratzen..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Gailuaren metadatu zerrendatik liburuak kentzen..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Gailuaren metadatu zerrendara liburuak gehitzen..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Abiarazi gabea, inplementatu gabea" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -2376,7 +2380,7 @@ msgid "Path to output file" msgstr "Helburu fitxategirako bidea" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Hitz-jarioa prozesatzen" @@ -2775,6 +2779,7 @@ msgid "No cover found" msgstr "Ez da liburu-azalik aurkitu" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Deskargatu liburu-azala" @@ -2844,19 +2849,19 @@ msgstr "deskripzioa/aipamenak edo kritikak" msgid "Download %s from %s" msgstr "Deskargatu %s hemendik: %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Bihurtu deskargatutako iruzkinak %s horretatik testu sinplera" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Deskargatu metadatatuak Google Books gunetik" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Deskargatu datuak isbndb.com gunetik" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2864,17 +2869,17 @@ msgstr "" "Erabiltzeko isbndb.com izena eman beharko duzu %sfree account%s doaneko " "kontua izateko. Gero zure pasahitza erabili beharko duzu." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Deskargatu gizarte mailako metadatuak amazon.com gunetik" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "" "Deskargatu serieak/etiketak/balorazioak informazioa hemendik: " "librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2899,23 +2904,24 @@ msgstr "" "doaneko kontu batean izena ematen duzunean sortzen duzun pasahitza.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "Nahi dituzun metadatuen liburuaren ISBN ID." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "Bilatzen ari zaren liburuaren egilea." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "Bilatzen ari zaren liburuaren izenburua." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "Bilatzen ari zaren liburuaren argitaleytxea." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " ez da aurkitu." @@ -2933,6 +2939,23 @@ msgstr "" "Eskura ezazu liburu azal bat irudi/gizarte metadatuekin bere ISBN-ren bidez " "hemendik: LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "Deskargatzen ditu metadatuak Nicebooks frantziarretik" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "Deskargatzen ditu liburu-azalak Nicebooks frantziarretik" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "" +"Nicebooks horretan egoteko denbora agorturik. Saia zaitez berriro geroago." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -3096,7 +3119,7 @@ msgstr "Oin-oharrak" msgid "Sidebar" msgstr "Alboko barra" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -3106,7 +3129,7 @@ msgstr "" "Normalean calibre honek lerro zuriak paragrafo markatzat hartzen ditu. " "Aukera honekin kontu egingo da lerro guztiek paragrafo baten maila daukatela." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3673,7 +3696,7 @@ msgid "Disable UI animations" msgstr "Desgaitu EI (erabiltzailearen interfazearen) animazioak" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Kopiaturik" @@ -3850,7 +3873,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Gehitu liburuak zure calibre liburutegira konektatutako gailutik" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Berreskura itzazu zure ohar eta zirriborroak (esperimentala)" @@ -3947,7 +3970,7 @@ msgid "Checking database integrity" msgstr "Datu baseen osaketa aztertzen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3963,15 +3986,11 @@ msgstr "Funsgabetasun batzuk aurkitu egin dira" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"Hurrengo liburuek badituzte datu basean zerrendatzen diren formatuak baina " -"oraindik eskuragarri ez daudenak. Formatu horietako sarrerak ezabatu egin " -"dira. Horiek eskuz aztertu beharko dituzu. Hau gerta daiteke liburutegiaren " -"karpetan bertan fitxategiak eraldatzen badituzu." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -4157,6 +4176,11 @@ msgstr "Ezin da bihurtu" msgid "Starting conversion of %d book(s)" msgstr "%d liburu(ar)en bihurketa abiatzen" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" +"Helburu fitxategia hutsik. Ziur aski bihurketa prozesuak huts egin du" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Kopiatu liburutegira." @@ -4191,7 +4215,7 @@ msgid "Could not copy books: " msgstr "Ezin izan dira liburuak kopiatu: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4254,14 +4278,14 @@ msgid "Main memory" msgstr "Memoria nagusia" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Memoria-txartela A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Memoria-txartela B" @@ -4508,6 +4532,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Run welcome wizard" @@ -4741,7 +4766,7 @@ msgid "The specified directory could not be processed." msgstr "Zehaztutako direktorioa ezin izan da prozesatu." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Libururik ez" @@ -6324,103 +6349,103 @@ msgstr "gehitzeko etiketak" msgid "tags to remove" msgstr "ezabatzeko etiketak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Ez dago zehaztasunik eskura." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Irakurgailua dagoeneko ez dago konektaturik." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Lortu irakurgailutik informazioa" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Lortu liburu zerrenda irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Lortu zirriborroak eta oharrak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Igorri irakurgailura metadatuak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Igorri irakurgailura bildumak" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Kargatu %d liburuak irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Ezabatu liburuak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Deskargatu liburuak irakurgailutik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Ikusi liburua irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Ezarri lehenetsia bezala \"irakurgailura bidali\" ekintza" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Bidali memoria nagusira" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Bidali A memoria-txartelera" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Bidali B memoria-txartelera" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Memoria nagusia" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Bidali formatu zehatza hona" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Bidali eta ezabatu liburutegitik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Egotzi irakurgailua (Eject)" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Irakurgailuarekin komunikatzeko saioak huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "Ez dago formatu egokirik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Aukeratu karpeta bat irakurgailua izango balitz bezala zabaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Akatsen bat irakurgailuarekin komunikatzerakoan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6428,118 +6453,60 @@ msgstr "" "Behin-behineko huts egite bat egon da irakurgailuarekin komunikatzerakoan. " "Mesedez, deskonektatu eta konektatu berriro gailua, edo berrabiarazi." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Gailua: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " detektaturik." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "hautatua bidaltzeko" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Aukeratu irakurgailura bidaltzeko formatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Gailurik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Ezin izan da igorri: ez dago inolako gailurik konektatua" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Txartelik ez dago" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Ezin bidali: gailuak ez dauka memoria-txartelik" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "Liburu elektronikoa:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "Erantsita, liburu elektronikoa topatuko duzu" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "egilea:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "%s formatuan." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "E-posta igortzen honi:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" -"Bihurtu modu automatikoan ondorengo liburuak e-postaren bidez igorri " -"aurretik?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"Ezin izan da e-postaz ondorengo liburuak igorri formatu egokirik topatu ez " -"delako:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Huts egin du liburuak igortzerakoan" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Huts egin du e-postaz hurrengo liburuak bidaltzerakoan:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "E-postaz igorria:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Albisteak:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Erantsita doana hau da" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Bidali albisteak honi:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Bihurtu modu automatikoan hurrengo liburuak irakurgailuan kargatu aurretik?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Katalogoak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Albisteak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Liburuak irakurgailura bidaltzen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6548,11 +6515,11 @@ msgstr "" "topatu egin ez delako. Lehenengo eta behin, bihurtu liburua(k) zure " "irakurgailuak onartzen duen formaturen batean." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "Lekurik ez irakurgailuan" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6748,7 +6715,7 @@ msgid "No location selected" msgstr "Kokogunea hautatu gabe" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Txarto kokatua" @@ -8293,7 +8260,7 @@ msgid "Discard changes" msgstr "Baztertu aldaketak" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Bertan behera utzi" @@ -8503,6 +8470,72 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Formularen iturri kodea (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "Ez dago xehetasunik eskuragarri" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "E-postal %s honi %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Albisteak:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Erantsita doana hau da" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "Liburu elektronikoa:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "Erantsita, liburu elektronikoa topatuko duzu" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "egilea:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "%s formatuan." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "E-posta igortzen honi:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" +"Bihurtu modu automatikoan ondorengo liburuak e-postaren bidez igorri " +"aurretik?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"Ezin izan da e-postaz ondorengo liburuak igorri formatu egokirik topatu ez " +"delako:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Huts egin du liburuak igortzerakoan" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Huts egin du e-postaz hurrengo liburuak bidaltzerakoan:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "E-postaz igorria:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Bidali albisteak honi:" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "Ez da bat datorrenik esaldia bilatzerakoan %s aurkitu." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "Ez da bat datorrenik aurkitu" @@ -8952,12 +8985,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF Ikustailearen tresna-barra" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Hurrengo orrialdea" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Aurreko orrialdea" @@ -9001,7 +9034,7 @@ msgid "Do not check for updates" msgstr "Ez ibili eguneratzeen bila" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "calibre liburutegia" @@ -9739,27 +9772,27 @@ msgstr "Erakutsi &testua ikonoen azpian:" msgid "&Split the toolbar into two toolbars" msgstr "&Banatu tresna barra bi tresna barra berrietan" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Aplikatu" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Berrezarri &lehenetsiak" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Gorde aldaketak" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Bertan behera utzi eta itzuli ikuspegi orokorrera" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Lehenetsitako balioak berreskuratzea ez dago onartua honentzat :" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9767,7 +9800,7 @@ msgstr "" "Egindako aldaketa batzuek berrabiaraztea eskatzen dute. Mesedez, " "berrabiarazi calibre ahal bezain pronto." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9776,7 +9809,7 @@ msgstr "" "duten. Ezin izango dituzu aukera gehiago aldatu edo ezarri calibre " "berrabiarazi arte." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Berrabiarazi beharko" @@ -10140,7 +10173,7 @@ msgstr "" "honela: Preferences->Advanced->Plugins (Aukerak>Aurreratua>Gehigarriak)" #: /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:331 msgid "Failed to start content server" msgstr "Huts egin du edukien zerbitzaria abiarazten" @@ -10507,7 +10540,7 @@ msgstr "" "Liburu multzo batean metadatuak aldatzeko denbora beharko. Ziur zaude?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Bilaketak" @@ -10601,28 +10634,28 @@ msgstr "" "Honako liburuak dagoeneko %s formatura bihurtu dira. Nahi dituzu berriro " "bihurtu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Lehengoratu" -#: /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 "&Emaitza egin calibre diruz laguntzeko" -#: /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 "&Deskonektatu konektatuta zegoen gailua" -#: /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 "Calibre Quick Start Guide (azkar erabiltzeko gida)" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Bihurketa akatsa" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10632,15 +10665,15 @@ msgstr "" "sistema bat). Bihurtu ahal izateko DRM arazo hori konpondu beharko duzu " "beste batzuen lanabesak erabiliz." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Formula desgaitua" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Huts egin du" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10651,12 +10684,12 @@ msgstr "" "kontua garapenean laguntzeko. Zure emaitzak lagunduko dio calibreri garatzen " "jarraitzen." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Oraintxe bertan lan batzuk egiten ari dira. Ziur zaude irten nahi duzula?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10667,11 +10700,11 @@ msgstr "" "daiteke.
    \n" " Ziur zaude? Benetan irten nahi duzu?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "ABISUA: lanean dihardu" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10857,7 +10890,7 @@ msgid "Options to customize the ebook viewer" msgstr "Liburu elektronikoen irakurgailua pertsonalizatzeko aukerak" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Gogoratu erabilitako azken leiho tamaina" @@ -10917,36 +10950,36 @@ msgstr "Monospaced letra-tipo tamaina pixeletan" msgid "The standard font type" msgstr "Letra-tipo estandarra" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Bilatu hiztegian" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Joan horra..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Hurrengo atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Aurreko atala" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Documentuaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Documentuaren bukaera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Atalaren hasiera" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Atalaren amaiera" @@ -11016,91 +11049,91 @@ msgstr "" msgid "Search for text in book" msgstr "Bilatu testua liburuan" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Inprimatze-aurrebista" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Konektatzen dict.org horrekin hauxe bilatzeko: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Aukeratu liburua" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Liburu elektronikoak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "Ez da bat etortzerik aurkitu %s horretarako" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Jarioa kargatzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Bistarazten %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Laster-marka #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Gehitu laster-marka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Sartu laster-markaren izenburua:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Kudeatu laster-markak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Liburu elektronikoa kargatzen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "DRM, Digital Rights Management, sistemak eragindako errorea" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "" "

    Liburu hau irakurtzeko murriztapenak daude: DRM \"Digital " "Rights Management\"" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "Ezin izan da liburua zabaldu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Liburu elektronikoen irakurgailua kontrolatzeko aukerak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Zehazten bada, ikustailearen leihoa saiatuko da aurreko aldera etortzen " "hasterakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Hauxe hautatu eginez gero, ikusiko den leihoa saiatuko da pantaila osoa " "zabaltzen hasi eta berehalakoan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Inprimatu javascript alerta eta kontsola mezuak kontsolara" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -11218,7 +11251,7 @@ msgstr "Ezkutatu" msgid "Toggle" msgstr "Txandakatu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11228,7 +11261,7 @@ msgstr "" "zaitezke calibre liburu bildumara gailutik beratik. Hau egiteko gaitu egin " "beharko duzu edukien zerbitzaria." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11236,7 +11269,7 @@ msgstr "" "Gogoratu calibre exekutatzen uztea, zerbitzaria ibiliko da calibre dabilen " "bitartean bakarrik." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11247,20 +11280,20 @@ msgstr "" "erabat hartakoturiko, kualifikaturiko, ostatze-izena edo bestela, calibre " "exekutatzen ari den ordenagailuko IP helbidea." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Mugitzen liburutegia..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Huts egin du liburutegia mugitzen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Datu base balio gabea" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -11268,22 +11301,22 @@ msgstr "" "

    Balio gabeko liburutegia dago %s horretan, ezabatu oraingo liburutegia " "mugitzen saiatu baino lehen.
    Errorea: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Ezin izan da liburutegia mugitu" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Hautatu liburuendako kokagunea" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Aukeratu beharko duzu hutsik dagoen edozein karpeta calibre liburutegirako. " "%s hori ez dago hutsik." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "ongi-etorri laguntzailea" @@ -11370,11 +11403,9 @@ msgstr "Aukeratu zure &hizkuntza:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Aukeratu kokaleku bat zure liburuentzat. calibren liburuak gehitzen " -"dituzunean, hemen kopiatuko dira:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11737,7 +11768,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: BIBTEX output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11747,7 +11778,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko zaie ePub, MOBI irteera formatuei" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11761,7 +11792,7 @@ msgstr "" "Lehenetsita: '%default'None\n" "Aplikatzeko formatu hauetarako: ePUB eta MOBI irteera formatuak" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11772,7 +11803,7 @@ msgstr "" "adibidez '[]'\n" "Erantsiko da: ePub, MOBI output formatuetan" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11788,7 +11819,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11798,7 +11829,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11808,7 +11839,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatzeko: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11818,7 +11849,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11829,7 +11860,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Applikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11844,7 +11875,7 @@ msgstr "" "Lehentsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11859,7 +11890,7 @@ msgstr "" "Lehenetsita: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11869,7 +11900,7 @@ msgstr "" "Lehenetsia: '%default'\n" "Aplikatuko da: ePub, MOBI output formatuetara" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12613,33 +12644,33 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sBatezbesteko balorazioa hauxe: %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Nagusia" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" "

    Migrazioa egiten datu base zaharretik liburu elektronikoen liburutegira " "zera honetan: %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Kopiatzen %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Trinkotzen datu basea" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Aztertzen SQL-ren osotasuna..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Aztertzen fitxategi galduen bila." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "Aztertutako ID" @@ -13338,7 +13369,7 @@ msgstr "Huts egin du SSH saioa ezartzerakoan: " msgid "Failed to authenticate with server: %s" msgstr "Huts egin du zerbitzariarekin egiaztatzerakon: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Kontrolatu e-posta banaketa" @@ -13862,6 +13893,13 @@ msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ "Berdinak: hitzak edo esaldiak metadatu baten eremu osoarekin egin beharko du " #~ "bat" +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Aukeratu kokaleku bat zure liburuentzat. calibren liburuak gehitzen " +#~ "dituzunean, hemen kopiatuko dira:" + #~ msgid "Password to access your calibre library. Username is " #~ msgstr "calibre liburutegian sartzeko pasahitza. Erabiltzaile izena: " @@ -13891,6 +13929,17 @@ msgstr "Ez deskargatu CSS (Cascading Style Sheets) estilo orririk." #~ "Egindako aldaketek calibre berrabiaraztea eskatzen dute. Mesedez, " #~ "berrabiarazi ahalik eta lehenen." +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "Hurrengo liburuek badituzte datu basean zerrendatzen diren formatuak baina " +#~ "oraindik eskuragarri ez daudenak. Formatu horietako sarrerak ezabatu egin " +#~ "dira. Horiek eskuz aztertu beharko dituzu. Hau gerta daiteke liburutegiaren " +#~ "karpetan bertan fitxategiak eraldatzen badituzu." + #~ msgid "" #~ "
  • Manual Management: Calibre updates the metadata and adds " #~ "collections only when a book is sent. With this option, calibre will never " diff --git a/src/calibre/translations/it.po b/src/calibre/translations/it.po index e6a6a95d83..3d28d0b5c6 100644 --- a/src/calibre/translations/it.po +++ b/src/calibre/translations/it.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre_calibre-it\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 22:33+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 07:36+0000\n" +"Last-Translator: MeltingShell \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-11-20 05:04+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:46+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" @@ -30,7 +30,7 @@ msgstr "Non fa assolutamente niente" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -58,7 +58,7 @@ msgstr "Non fa assolutamente niente" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -77,9 +77,9 @@ msgstr "Non fa assolutamente niente" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -92,7 +92,7 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -112,8 +112,8 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -124,15 +124,15 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -141,13 +141,13 @@ msgstr "Non fa assolutamente niente" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -188,9 +188,9 @@ msgstr "Azioni interfaccia utente" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Preferenze" @@ -270,45 +270,45 @@ msgstr "Imposta i metadati nei file %s" msgid "Set metadata from %s files" msgstr "imposta metadati da %s file" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Aspetto" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interfaccia" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Modifica l'aspetto dell'interfaccia di calibre secondo i propri gusti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Comportamento" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Cambia il comportamento di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Aggiungi colonne personalizzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "" "Aggiunge/Rimuove colonne personalizzate dalla lista dei libri di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Personalizza la barra degli strumenti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -316,59 +316,59 @@ msgstr "" "Personalizza la barra degli strumenti e i menu contestuali, cambiando le " "azioni disponibili in ognuno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Opzioni di digitazione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Conversione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di input" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Opzioni comuni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Imposta le opzioni di conversione comuni a tutti i formati" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Opzioni di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "" "Imposta le opzioni di conversione specifiche per ogni formato di output" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Aggiunta libri" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Importa/Esporta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Controlla come calibre legge i metadati dai libri quando vengono aggiunti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Salvataggio libri su disco" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -376,32 +376,32 @@ msgstr "" "Controlla come calibre esporta i file dal suo database al disco quando si " "usa «Salva su disco»" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Invio libri ai dispositivi" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Controlla come calibre trasferisce i file al lettore di ebook" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Cambiare i campi dei metadati prima di salvare/inviare" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Condivisione libri via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Condivisione" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -409,11 +409,11 @@ msgstr "" "Imposta la condivisione dei libri via email. Può essere usato per inviare " "automaticamente le news scaricate ai dispositivi." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Condividi sulla rete" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -421,34 +421,34 @@ msgstr "" "Imposta il Server di Contenuti calibre che da accesso alla biblioteca di " "calibre da ogni luogo, su ogni dispositivo, su internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Avanzate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Aggiungi/rimuovi/personalizza varie opzioni delle funzionalità di calibre" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Ottimizzazioni" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Modifica in dettaglio come si comporta calibre in vari contesti" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Varie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Configurazione avanzata varia" @@ -614,7 +614,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Questo profilo è adatto per il Kindle DX di Amazon." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "Questo profilo è pensato per il B&N Nook Color." + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Questo profilo è riservato a Sanda Bambook." @@ -780,16 +784,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Notizie" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Catalogo" @@ -817,7 +821,7 @@ msgstr "Comunica con il lettore 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 "Comunica con il lettore Cybook Orizon." #: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:24 msgid "Communicate with the EB600 eBook reader." @@ -891,8 +895,8 @@ msgstr "Comunica con il lettore SpringDesign Alex." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -981,26 +985,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Recupero della lista dei libri sul dispositivo..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Cancellazione libri dalla lista metadati del dispositivo..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Aggiunta dei libri alla lista metadati del dispositivo..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Non Implementato" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -2298,7 +2302,7 @@ msgid "Path to output file" msgstr "Percorso del file in uscita" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Elaborazione dettagliata" @@ -2686,6 +2690,7 @@ msgid "No cover found" msgstr "Nessuna copertina trovata" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Scarica cover" @@ -2753,19 +2758,19 @@ msgstr "Descrizione/Rassegne" msgid "Download %s from %s" msgstr "Scarica %s da %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Converti i commenti scaricati da %s in testo semplice." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Scarica i metadati da Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Scarica i metadati da isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2773,15 +2778,15 @@ msgstr "" "Per utilizzare isbndb.com è necessario registrarsi per un %saccount " "gratuito%s ed inserire qui sotto il codice di accesso ottenuto." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Scaricare i metadati sociali da amazon.com." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Scarica informazioni su serie/tag/valutazione da librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2806,23 +2811,24 @@ msgstr "" "gratuitamente su isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "Il codice ISBN del libro di cui si vogliono i metadati." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "L'autore del libro da cercare" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "Il titolo del libro da cercare" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "L'editore del libro da cercare" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " non trovato" @@ -2840,6 +2846,22 @@ msgstr "" "Recupera un'immagine di copertina/metadato sociale per il libro identificato " "con da ISBN da LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "Scarica metadati dai Nicebooks francesi" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "Nicebooks scaduti. Riprovare più tardi." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "Si è verificato un errore con il fetcher di copertine Nicebooks" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -2999,7 +3021,7 @@ msgstr "Note" msgid "Sidebar" msgstr "Menu a lato" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -3010,7 +3032,7 @@ msgstr "" "paragrafi. Con questa opzione si assumerà che ogni linea rappresenti un " "paragrafo." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3582,7 +3604,7 @@ msgid "Disable UI animations" msgstr "Disattiva animazioni interfaccia" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Copiato" @@ -3756,7 +3778,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Aggiungi libri alla biblioteca calibre dal dispositivo connesso" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Preleva annotazioni (sperimentale)" @@ -3853,7 +3875,7 @@ msgid "Checking database integrity" msgstr "Controllo d'integrità del database" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3869,15 +3891,11 @@ msgstr "Sono stati trovati problemi di consistenza" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"I libri indicati hanno formati elencati nel database che non sono " -"disponibili. I riferimenti a tali formati sono stati rimossi. È consigliato " -"controllarli manualmente. Questo problema può sorgere se i documenti nella " -"cartella della biblioteca vengono modificati direttamente." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -4061,6 +4079,11 @@ msgstr "Impossibile convertire" msgid "Starting conversion of %d book(s)" msgstr "Conversione di %d libri avviata" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" +"File di output vuoto, probabilmente il processo di conversione è fallito" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Copia nella biblioteca." @@ -4095,7 +4118,7 @@ msgid "Could not copy books: " msgstr "Impossibile copiare i libri: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4158,14 +4181,14 @@ msgid "Main memory" msgstr "Memoria principale" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Scheda di memoria A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Scheda di memoria B" @@ -4402,6 +4425,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Avvia l'assistente di configurazione iniziale" @@ -4632,7 +4656,7 @@ msgid "The specified directory could not be processed." msgstr "Impossibile elaborare la cartella indicata." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Nessun libro." @@ -5108,7 +5132,7 @@ msgstr "Includi sezione 'Serie'" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi_ui.py:94 msgid "Wishlist tag:" -msgstr "" +msgstr "Tag della lista dei desideri:" #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_tab_template_ui.py:33 msgid "Tab template for catalog.ui" @@ -6202,103 +6226,103 @@ msgstr "tag da aggiungere" msgid "tags to remove" msgstr "tag da eliminare" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nessun dettaglio disponibile." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Dispositivo non più collegato." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Recupera informazioni sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Recupera la lista dei libri del dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Ricevi annotazioni dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Invia metadati al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Invia collezioni al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Invia %d libri al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Cancella i libri dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Scarica libri dal dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Visualizza libro sul dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Imposta azione predefinita di invio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Invia alla memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Invia alla scheda di memoria A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Invia alla scheda di memoria B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Memoria principale" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Invia formato specifico a" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Invia ed elimina dalla biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Espelli dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "Nessun formato adatto" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Selezionare la cartella da aprire come dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Errore di comunicazione col dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6306,118 +6330,60 @@ msgstr "" "Si è verificato un errore di comunicazione temporaneo col dispositivo. " "Disconnettere e riconnettere il dispositivo e/o riavviare." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Dispositivo: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " individuato." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "Selezione per l'invio" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Selezionare il formato da inviare al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Nessun dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Impossibile inviare: nessun dispositivo connesso" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Nessuna scheda" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Impossibile inviare: il dispositivo non ha schede di memoria" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "Libro elettronico" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "Troverete allegato il libro elettronico" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "di" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "nel formato %s" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Spedizione di un messaggio elettronico a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" -"Convertire automaticamente i libri selezionati prima di inviare con posta " -"eletrronica?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"Impossibile inviare i libri seguenti via email poiché non sono stati trovati " -"formati adatti:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Impossibile inviare via email i libri" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Impossibile inviare via email i seguenti libri:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Inviato per posta elettronica" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Notizie:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Allegato c'é" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Notizie inviate a" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Convertire automaticamente i libri seguenti prima di inviarli al dispositivo?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Inviando i cataloghi al dispositivo" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Invio delle notizie al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Invio dei libri al dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6426,11 +6392,11 @@ msgstr "" "trovato un formato adeguato. È prima necessario convertire i libri in un " "formato supportato dal dispositivo." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "Spazio sul dispositivo insufficiente" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6564,6 +6530,8 @@ msgid "" "Enter comma-separated extensions without a leading dot. Used only in book " "folders" msgstr "" +"Inserire una lista separata da virgole delle estensioni senza il punto. " +"Usate solo nelle cartelle dei libri" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/check_library.py:119 msgid "Path from library" @@ -6624,7 +6592,7 @@ msgid "No location selected" msgstr "Nessuna posizione selezionata" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Posizione non valida" @@ -7175,6 +7143,8 @@ msgid "" "Enter the what you are looking for, either plain text or a regular " "expression, depending on the mode" msgstr "" +"Inserire quello che si sta cercando, testo semplice o un espressione " +"regolare, dipende dalla modalità" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk_ui.py:385 msgid "" @@ -8117,7 +8087,7 @@ msgid "Discard changes" msgstr "Annulla i cambiamenti" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Annulla" @@ -8316,6 +8286,72 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Codice sorgente ricetta (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Notizie:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Allegato c'é" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "Libro elettronico" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "Troverete allegato il libro elettronico" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "di" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "nel formato %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Spedizione di un messaggio elettronico a" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" +"Convertire automaticamente i libri selezionati prima di inviare con posta " +"eletrronica?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"Impossibile inviare i libri seguenti via email poiché non sono stati trovati " +"formati adatti:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Impossibile inviare via email i libri" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Impossibile inviare via email i seguenti libri:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Inviato per posta elettronica" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Notizie inviate a" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "Nessuna corrispondenza trovata per la frase %s" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "Nessuna corrispondenza trovata" @@ -8765,12 +8801,12 @@ msgid "LRF Viewer toolbar" msgstr "Barra degli strumenti visualizzatore LRF" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Pagina successiva" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Pagina precedente" @@ -8814,7 +8850,7 @@ msgid "Do not check for updates" msgstr "Non controllare gli aggiornamenti" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Biblioteca di calibre" @@ -9529,27 +9565,27 @@ msgstr "Mostra &testo sotto le icone:" msgid "&Split the toolbar into two toolbars" msgstr "&Dividi la barra degli strumenti in due barre" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Applica" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Ripristina &predefiniti" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Salva modifiche" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Annulla e torna al quadro generale" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Ripristino predefiniti non supportato per" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9557,7 +9593,7 @@ msgstr "" "Alcune modifiche effettuate richiedono il riavvio. Riavviare calibre il " "prima possibile." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9565,7 +9601,7 @@ msgstr "" "Le modifiche effettuate richiedono il riavvio immediato di calibre. Non è " "possibile fare altre modifiche finché non si riavvia." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Riavvio richiesto" @@ -9901,7 +9937,7 @@ msgstr "" "dispositivo in «Preferenze->Avanzate->Plugins»" #: /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:331 msgid "Failed to start content server" msgstr "Avvio del server dei contenuti fallito" @@ -10266,7 +10302,7 @@ msgstr "" "Sei sicuro?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Ricerche" @@ -10360,28 +10396,28 @@ msgstr "" "I libri nella lista sono già stati convertiti nel formato %s. Convertirli " "nuovamente?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "&Ripristina" -#: /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 "&Donazione per sostenere Calibre" -#: /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 "&Espelli dispositivo connesso" -#: /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 "Guida rapida di Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Errore di conversione" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10390,15 +10426,15 @@ msgstr "" "href=\"%s\">DRM. È prima necessario rimuovere la DRM usando un altro " "prodotto." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Ricetta deattivata" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Operazione Fallita" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10409,11 +10445,11 @@ msgstr "" "lo sviluppo. La tua donazione aiuterà a mantenere attivo lo sviluppo di " "calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "Ci sono lavori attivi. Uscire comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10424,11 +10460,11 @@ msgstr "" "sul dispositivo.
    \n" " Interrompere comunque?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "ATTENZIONE: Lavori attivi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10615,7 +10651,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opzioni per personalizzare il lettore di libri" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Ricorda la dimensione della finestra usata l'ultima volta" @@ -10674,36 +10710,36 @@ msgstr "La dimensione dei caratteri a spaziatura fissa in px" msgid "The standard font type" msgstr "Il tipo di carattere predefinito" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "Cerca nel dizionario (&L)" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Vai a..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Sezione successiva" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Sezione precedente" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Inizio documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Fine documento" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Inizio sezione" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Fine sezione" @@ -10773,90 +10809,90 @@ msgstr "" msgid "Search for text in book" msgstr "Cerca del testo nel libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Anteprima di stampa" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Sto collegano a dict.org per cercare: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Scelta libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "Nessuna corrispondenza trovata per %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Caricamento..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Impaginazione %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Segnalibro #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Aggiungi segnalibro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Inserire il titolo per il segnalibro:" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Gestire i segnalibri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Caricamento libro..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "Errore DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "

    Questo libro è protetto da DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "Impossibile aprire il libro" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Opzioni per controllare il visualizzatore di libri" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Se specificato, la finestra di visualizzazione tenterà di apparire in primo " "piano quando avviata." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Se selezionato, all'avvio la finestra del viewer si aprirà a pieno schermo." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "" "Scrivi avvertenze dall'esecuzione e messaggi dal quadro di comando nella " "finestra del quadro di comando." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -10974,7 +11010,7 @@ msgstr "Nascondi" msgid "Toggle" msgstr "Attiva/Disattiva" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10984,7 +11020,7 @@ msgstr "" "accedere alla collezione di libri calibre direttamente dal dispositivo. Per " "fare questo è necessario attivare il server di contenuti." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -10992,7 +11028,7 @@ msgstr "" "Ricordare di lasciare calibre aperto poiché il server funziona solamente " "quando calibre è avviato." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11003,20 +11039,20 @@ msgstr "" "un host valido o l'indirizzo IP del computer sul quale calibre è in " "esecuzione." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Spostamento della biblioteca in corso..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Impossibile spostare la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Database non valido" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -11024,22 +11060,22 @@ msgstr "" "

    Una biblioteca non valida esiste già in %s, eliminarla prima di tentare " "di spostare la biblioteca esistente.
    Errore: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Impossibile spostare la biblioteca" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Selezionare un percorso per i libri" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Devi scegliere una cartella vuota per la biblioteca di calibre. %s non è " "vuota." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "Benvenuti nel wizard" @@ -11125,11 +11161,9 @@ msgstr "Selezionare la &lingua:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Selezionare una destinazione per i libri. Quando verranno aggiunti libri a " -"Calibre, questi saranno copiati qui:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11481,7 +11515,7 @@ msgstr "" "Predefinito: '%default'\n" "Applicabile ai formati di output: BIBTEX" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11491,7 +11525,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11505,7 +11539,7 @@ msgstr "" "Valore predefinito: '%default'Nessuno\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11516,7 +11550,7 @@ msgstr "" "'[]'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11531,7 +11565,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11541,7 +11575,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: epub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11551,7 +11585,7 @@ msgstr "" "Predefinito:'%default'\n" "Applicabile ai formati di output:ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11561,7 +11595,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11572,7 +11606,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11586,7 +11620,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11602,7 +11636,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11612,7 +11646,7 @@ msgstr "" "Valore predefinito: '%default'\n" "Applicabile ai formati di output: ePub, MOBI" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12315,32 +12349,32 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sLa valutazione media è %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Principale" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" "

    Migrazione del vecchio database nella biblioteca in %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Sto copiando %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Compattazione database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Controllo di integrità SQL..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Controllo per file mancanti" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "ID controllate" @@ -13015,7 +13049,7 @@ msgstr "Negoziazione della sessione SSH fallita: " msgid "Failed to authenticate with server: %s" msgstr "Autenticazione fallita col server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Controllo dell'invio delle email" @@ -15328,6 +15362,13 @@ msgstr "Non scaricare i fogli di stile CSS" #~ msgid "Books located at" #~ msgstr "Libri presenti in" +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Selezionare una destinazione per i libri. Quando verranno aggiunti libri a " +#~ "Calibre, questi saranno copiati qui:" + #~ msgid "Finish gmail setup" #~ msgstr "Configurazione di gmail completata" @@ -15539,6 +15580,17 @@ msgstr "Non scaricare i fogli di stile CSS" #~ msgid "Failed to download metadata:" #~ msgstr "Impossibile scaricare i metadati:" +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "I libri indicati hanno formati elencati nel database che non sono " +#~ "disponibili. I riferimenti a tali formati sono stati rimossi. È consigliato " +#~ "controllarli manualmente. Questo problema può sorgere se i documenti nella " +#~ "cartella della biblioteca vengono modificati direttamente." + #~ msgid "" #~ "%s has been updated to version %s. See the new features. Visit the download page?" diff --git a/src/calibre/translations/nl.po b/src/calibre/translations/nl.po index 62b83875b8..2249f2926f 100644 --- a/src/calibre/translations/nl.po +++ b/src/calibre/translations/nl.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-20 17:46+0000\n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 18:23+0000\n" "Last-Translator: Marcel de Ruiter \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-11-21 04:46+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: NETHERLANDS\n" "X-Poedit-Language: Dutch\n" @@ -33,7 +33,7 @@ msgstr "Doet helemaal niets" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -61,7 +61,7 @@ msgstr "Doet helemaal niets" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -80,9 +80,9 @@ msgstr "Doet helemaal niets" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -95,7 +95,7 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -115,8 +115,8 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -127,15 +127,15 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -144,13 +144,13 @@ msgstr "Doet helemaal niets" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -191,9 +191,9 @@ msgstr "Actie gebruikers interface" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Voorkeuren" @@ -269,44 +269,44 @@ msgstr "Lees metagegevens van eboeken in ZIP-archieven" msgid "Set metadata in %s files" msgstr "Stel metagegevens van %s bestanden in" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Uiterlijk en Vormgeving" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interface" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" "Pas het uiterlijk en gedrag van de calibre interface aan naar je smaak" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Gedrag" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Verander de manier waarop calibre zich gedraagt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Voeg je eigen kolommen toe" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Voeg/Verwijder je eigen kolommen toe aan de calibre boekenlijst" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Werkbalk aanpassen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -314,58 +314,58 @@ msgstr "" "Pas de werkbalken en contextmenu's aan en verander daarmee de beschikbare " "actie's in beide." -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Invoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Conversie" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "" "Configureer de conversie-instellingen specifiek voor ieder invoerformaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Algemene opties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Configureer de conversieopties die alle formaten gemeen hebben" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Uitvoeropties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "Set de conversieopties specifiek voor ieder uitvoerformaat" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Boeken toevoegen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Importeren/Exporteren" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Bepaal hoe calibre metadata uit bestanden leest als boeken worden toegevoegd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Boeken bewaren op schijf" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -373,32 +373,32 @@ msgstr "" "Bepaal hoe calibre bestanden uit zijn database op schijf bewaard als je " "Bewaar op schijf gebruikt" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Stuur boeken naar apparaten" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Bepaal hoe calibre bestanden naar je ebook reader overplaats" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Invoegtoepassing voor metagegevens" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Verander velden met metagegevens voor het opslaan/versturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Deel boeken via email" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Delen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -406,11 +406,11 @@ msgstr "" "Configureer het delen van boeken via email. Dit kan gebruikt worden om " "automatisch gedownload nieuws naar je apparaten te sturen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Delen over het net" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -418,35 +418,35 @@ msgstr "" "Configureer de calibre Content Server, die je toegang tot je calibre " "bibliotheek geeft van overal, op elk apparaat, via het internet" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Plugins" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Geavanceerd" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" "Voeg toe/verwijder/customize de verschillende delen van de calibre " "functionaliteit" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Tweaks" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Stem af hoe calibre zich gedraagt in bepaalde situaties" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Diversen" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Diverse geavanceerde instellingen" @@ -610,7 +610,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Dit profiel is bedoeld voor de Amazon Kindle DX." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "Dit profiel is voor de B&N Nook Color" + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Dit profiel is bedoeld voor het Sanda Bamboek." @@ -777,16 +781,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Nieuws" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Catalogus" @@ -888,8 +892,8 @@ msgstr "Communiceert met de SpringDesign Alex eBook reader." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -978,26 +982,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Bezig met het ophalen van boeken van het apparaat..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Verwijderen boeken van apparaat metagegevens lijst..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Toevoegen boeken aan apparaat metagegevens lijst..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Niet geïmplementeerd" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -1693,7 +1697,7 @@ msgid "" "paragraphs (

    or

    tags)." msgstr "" "Verwijder witregels tussen paragrafen. Zet ook een indentatie van 1.5em op " -"paragraden. witregel verwijdering werkt niet als het invoer bestand geen " +"paragrafen. Witregels verwijderen werkt niet als het invoerbestand geen " "paragrafen gebruikt (

    of

    tags)." #: /home/kovid/work/calibre/src/calibre/ebooks/conversion/plumber.py:327 @@ -2302,7 +2306,7 @@ msgid "Path to output file" msgstr "Pad naar doel bestand" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "uitgebreide verwerking" @@ -2690,6 +2694,7 @@ msgid "No cover found" msgstr "Geen omslag gevonden" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Boek omslag download" @@ -2757,19 +2762,19 @@ msgstr "Omschrijving/Beoordelingen" msgid "Download %s from %s" msgstr "Download %s van %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Converteer gedownload commentaar van %s naar normale tekst." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Download metagegevens van Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Download metagegevens van isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2777,15 +2782,15 @@ msgstr "" "Om isbndb.com te gebruiken moet je je opgeven voor een %sgratis account%s, " "en je toegangs sleutel hieronder invoeren." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Download sociale metadata (labels, waarderingen, etc) van amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Download series/labels/waardering-informatie van librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2810,23 +2815,24 @@ msgstr "" "een gratis account op isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "Het ISBN Nr van het boek waarvoor je de metagegevens wilt." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "De auteur van het boek om naar te zoeken." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "De titel van het boek om naar te zoeken." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "De uitgever van het boek om naar te zoeken." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " niet gevonden." @@ -2844,6 +2850,22 @@ msgstr "" "Haal een boek afbeelding / sociale metagegevens (labels, waarderingen, etc) " "voor het boek aangeduid met ISBN van LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "Download metagegevens van de franse Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "Download omslagen van de franse Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "Nicebooks time out. Probeer later opnieuw." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "Er is een fout ontstaan met het ophalen van Nicebooks omslagen" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -3003,7 +3025,7 @@ msgstr "Voetnoten" msgid "Sidebar" msgstr "Zijpaneel" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -3013,7 +3035,7 @@ msgstr "" "Normaal gesproken behandelt calibre blanco regels als paragraaf markering. " "Met deze optie zal het aannemen dat iedere regel een paragraaf representeert." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3572,7 +3594,7 @@ msgid "Disable UI animations" msgstr "Blokkeer GI animaties" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Gekopieerd" @@ -3748,7 +3770,7 @@ msgstr "" "Voeg boeken op je aangesloten apparaat toe aan de Calibre bibliotheek" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Haal annoties op (experimenteel)" @@ -3847,7 +3869,7 @@ msgid "Checking database integrity" msgstr "Verifieren database integriteit" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3863,15 +3885,15 @@ msgstr "Inconsistente data gevonden" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"De volgende boeken hadden formaten in de database die niet beschikbaar zijn. " -"De opgaves voor deze formaten zijn verwijderd. Je zult deze handmatig moeten " -"nakijken. Dit kan gebeuren als je de bestanden in de mappen zelf hebt " -"aangepast." +"Deze boeken hadden formaten of omslagen opgeslagen in de database die niet " +"echt beschikbaar zijn. De ingangen voor de formaten/omslagen zijn " +"verwijderd. Je zou ze handmatig moeten controleren. Dit kan ontstaan als je " +"bestanden wijzigt in de mappen zelf." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -4058,6 +4080,11 @@ msgstr "Kan niet converteren" msgid "Starting conversion of %d book(s)" msgstr "Start conversie van %d boek(en)" +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "" +"Leeg uitvoerbestand, waarschijnlijk is het conversieproces fout gegaan" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Kopieer naar bibliotheek" @@ -4092,7 +4119,7 @@ msgid "Could not copy books: " msgstr "Kan boeken niet kopieren: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4156,14 +4183,14 @@ msgid "Main memory" msgstr "|Hoofdgeheugen" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Geheugenkaart A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Geheugenkaart B" @@ -4409,6 +4436,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Start de welkom wizard" @@ -4639,7 +4667,7 @@ msgid "The specified directory could not be processed." msgstr "De geselecteerde folder kan niet worden bewerkt." #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Geen boeken" @@ -6205,103 +6233,103 @@ msgstr "toe te voegen labels" msgid "tags to remove" msgstr "te verwijderen labels" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Geen details beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Apparaat niet meer verbonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Lees apparaat informatie" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Lees boeken lijst van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Haal annotaties uit apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Verstuur metagegevens naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Stuur de collectie(s) naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Upload %d boeken naar apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Verwijder boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Download boeken van apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Bekijk boek op apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Stel standaard stuur naar apparaat actie in" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Stuur naar hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Zend naar opslag kaart A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Zend naar opslag kaart B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Hoofdgeheugen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Zend specifiek formaat naar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Verzend en verwijder uit de bibliotheek" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Verbreek apparaat verbinding" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "Geen geschikte formaten" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Selecteer de \"als apparaat\" te openen map" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Fout bij communicatie met lezer" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6309,117 +6337,60 @@ msgstr "" "Er is een tijdelijke fout opgetreden tijdens de communicatie met de lezer. " "verwijzer de lezer en plug hem opnieuw in, of herstart." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Apparaat: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " gedetecteerd" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "Geselecteerd om te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Kies formaat om naar apparaat te versturen" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Geen apparaat" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Kan niet zenden: geen apparaat beschikbaar" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Geen kaart aanwezig" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Kan niet versturen: Apparaat heeft geen opslag kaart" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "E-Boek:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "In de bijlage vind je het e-boek." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "door" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "in het %s formaat" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Versturen van email naar" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "" -"Auto-converteer de volgende boeken alvorens ze via email te versturen?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"De volgende boeken konden niet worden ge-emailed omdat geen beschikbare " -"formaten zijn gevonden:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Boeken konden niet worden ge-emailed." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "De volgende boeken konden niet worden ge-emailed:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Verstuurd via email:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Nieuws:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Bijgevoegd is de" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Nieuws verzonden naar" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "" "Auto-converteer de volgende boeken alvorens ze te uploaden naar het appraat?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Verstuur catalogus naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Versturen van nieuws naar apparaat." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Boeken worden naar de lezer verzonden." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6428,11 +6399,11 @@ msgstr "" "er geen geschikte bestandsformaten konden worden gevonden. Converteer " "boek(en) eerst naar een formaat dat word ondersteund door je lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "Geen schijfruimte op de lezer." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6625,7 +6596,7 @@ msgid "No location selected" msgstr "Geen locatie geselecteerd" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Ongeldige locatie geselecteerd" @@ -8161,7 +8132,7 @@ msgid "Discard changes" msgstr "Verwerp veranderingen" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Annuleer" @@ -8368,6 +8339,71 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Recept bron code (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "Geen details beschikbaar" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "Email %s to %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Nieuws:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Bijgevoegd is de" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "E-Boek:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "In de bijlage vind je het e-boek." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "door" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "in het %s formaat" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Versturen van email naar" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "" +"Auto-converteer de volgende boeken alvorens ze via email te versturen?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"De volgende boeken konden niet worden ge-emailed omdat geen beschikbare " +"formaten zijn gevonden:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Boeken konden niet worden ge-emailed." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "De volgende boeken konden niet worden ge-emailed:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Verstuurd via email:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Nieuws verzonden naar" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "Geen Resultaten voor de zoekterm %s gevonden." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "Geen resultaten gevonden" @@ -8820,12 +8856,12 @@ msgid "LRF Viewer toolbar" msgstr "LRF viewer werkbalk" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Volgende Pagina" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Vorige Pagina" @@ -8869,7 +8905,7 @@ msgid "Do not check for updates" msgstr "Check niet voor updates" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Calibre Bibliotheek" @@ -9586,27 +9622,27 @@ msgstr "Geef &tekst onder de iconen weer:" msgid "&Split the toolbar into two toolbars" msgstr "&Splits de werkbalk in twee werkbalken" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "Toep&assen" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Stan&daard terugzetten" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Bewaar veranderingen" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Annuleer en terug naar overzicht" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Terugzetten naar standaard niet ondersteund voor" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9614,7 +9650,7 @@ msgstr "" "Voor sommige van de veranderingen is een herstart nodig. Herstart Calibre zo " "snel mogelijk." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9622,7 +9658,7 @@ msgstr "" "Voor de veranderingen die je hebt gemaakt moet Calibre onmiddelijk " "herstarten. Je kunt geen instellingen meer aanpassen tot je herstart." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Herstart nodig" @@ -9975,7 +10011,7 @@ msgstr "" ">Geavanceerd->Plugins" #: /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:331 msgid "Failed to start content server" msgstr "Content server kon niet worden gestart" @@ -10345,7 +10381,7 @@ msgstr "" "het zeker?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Zoekopdrachten" @@ -10440,28 +10476,28 @@ msgstr "" "De volgende boeken waren al geconverteerd naar %s formaat. Wil je dit " "nogmaals doen?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "He&rstellen" -#: /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 "Ondersteun calibre met een &Donatie" -#: /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 "Aangesloten apparaat ontkoppelen" -#: /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 "Calibre snelstart handboek" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Converteer Fout" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10469,15 +10505,15 @@ msgstr "" "

    Kon %s niet converteren.

    Het is een eboek met DRM. " "Je moet eerst de DRM verwijderen met externe programma's." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Recept uitgeschakeld" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Mislukt" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10488,12 +10524,12 @@ msgstr "" "van het programma te steunen. Jouw donatie helpt om de ontwikkeling voort te " "zetten." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Er zijn actieve werk opdrachten. Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10504,11 +10540,11 @@ msgstr "" "apparaat.
    \n" " Weet je zeker dat je af wilt sluiten?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "Waarschuwing: actieve werk opdrachten" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10692,7 +10728,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opties om de eboek viewer te verpersoonlijken" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "onthoudt de laatst gebruikte venster grootte" @@ -10749,36 +10785,36 @@ msgstr "De niet-proportionele lettergrootte in px" msgid "The standard font type" msgstr "Het Standaard lettertype" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Zoek in woordenboek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Ga naar..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Volgende sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Vorige sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Begin van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Einde van document" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Begin van sectie" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Einde van sectie" @@ -10848,89 +10884,89 @@ msgstr "" msgid "Search for text in book" msgstr "Zoek naar tekst in boek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Afdrukvoorbeeld" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Verbinden met dict.org om op te zoeken: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Kies eboek" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "Eboeken" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "Geen zoekterm gevonden voor: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Bezig met het laden van de omslagbrowser..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Opbaren %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Bladwijzer #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Bladwijzer toevoegen" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Geef titel voor bladwijzer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Beheer Bladwijzers" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Eboek wordt geladen..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "DRM foutmelding" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "

    Dit boek wordt beschermd door DRM" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "EBoek kan niet worden geopend" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Opties voor de eboek viewer" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Indien gespecificeerd, dan zal het viewer venster proberen naar voren te " "komen na het opstarten." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Als dit is opgegeven zal het leesvenster proberen om volledig scherm te " "openen." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Print javascript waarschuwingen en console berichten op de console" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -11048,7 +11084,7 @@ msgstr "Verberg" msgid "Toggle" msgstr "Omschakelen" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -11058,7 +11094,7 @@ msgstr "" "kun je de calibre boek collectie direct op je telefoon bekijken. Om dit te " "doen zul je de content server moeten inschakelen." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." @@ -11066,7 +11102,7 @@ msgstr "" "Denk er aan om calibre open te laten, aangezien de server alleen werkt " "zolang calibre draait" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -11076,20 +11112,20 @@ msgstr "" "bibliotheek. myhostname is de volledige hostname of het IP address van de " "computer waar calibre op draait." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Verplaatsen bibliotheek..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Bibliotheek kon niet worden verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "ongeldige database" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -11097,21 +11133,21 @@ msgstr "" "

    Een ongeldige bibliotheek bestaat at in %s, verwijder deze alvorens " "nogmaals te proberen de bestaande bibliotheek te verplaatsen.
    Fout: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Bibliotheek kon niet worden verplaatst" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Selecteer de locatie voor boeken" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Je moet een lege map kiezen voor de calibre bibliotheek. %s is niet leeg." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "Welkom Wizard" @@ -11196,11 +11232,12 @@ msgstr "Kies je &taal:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Kies een locatie voor je boeken. Wanneer je boeken toevoegt aan Calibre, dan " -"zullen ze hier naar toe worden gekopieerd:" +"

    Kies een locatie voor je boeken. Als je boeken toevoegt aan calibre " +"zullen ze hierheen gekopieerd worden. Gebruik een lege map voor een " +"nieuwe calibre bibliotheek." #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11557,7 +11594,7 @@ msgstr "" "Standaard: '%default'\n" "Van toepassing op: BIBTEX weergave formaat" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11568,7 +11605,7 @@ msgstr "" "Standaard: '%default'\n" "Betrekking tot: ePub, MOBI uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11582,7 +11619,7 @@ msgstr "" "Standaard: '%default'None\n" "Betrekking tot: ePub, MOBI uitvoer formaten" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11592,7 +11629,7 @@ msgstr "" "Standaard: '%default' uitgezonderd labels in haken, b.v. '[

    Migrating old database to ebook library in %s

    " msgstr "

    Migreer oude database naar eboek bibliotheek in %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Kopiëren van %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Comprimeren database" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Verifiëren SQL integriteit..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Zoeken naar verloren bestanden" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "id gecontroleerd" @@ -13142,7 +13179,7 @@ msgstr "SSH sessie kon niet tot stand worden gebracht: " msgid "Failed to authenticate with server: %s" msgstr "Authenticatie met server mislukt: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Wijzig email verzending" @@ -15225,6 +15262,13 @@ msgstr "Download geen CSS stylesheets" #~ msgid "Applying changes to %d books. This may take a while." #~ msgstr "Wijzigingen toepassen op %d boeken. Dit kan geruime tijd duren." +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Kies een locatie voor je boeken. Wanneer je boeken toevoegt aan Calibre, dan " +#~ "zullen ze hier naar toe worden gekopieerd:" + #~ msgid "You cannot change libraries when a device is connected." #~ msgstr "" #~ "Je kunt niet van bibliotheek wisselen wanneer het apparaat is aangesloten" @@ -15247,3 +15291,14 @@ msgstr "Download geen CSS stylesheets" #~ msgid "&Search and replace (experimental)" #~ msgstr "Zoek tek&st en vervang (experimenteel)" + +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "De volgende boeken hadden formaten in de database die niet beschikbaar zijn. " +#~ "De opgaves voor deze formaten zijn verwijderd. Je zult deze handmatig moeten " +#~ "nakijken. Dit kan gebeuren als je de bestanden in de mappen zelf hebt " +#~ "aangepast." diff --git a/src/calibre/translations/sr.po b/src/calibre/translations/sr.po index 343d31724b..3a79baf052 100644 --- a/src/calibre/translations/sr.po +++ b/src/calibre/translations/sr.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: calibre\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2010-11-19 21:23+0000\n" -"PO-Revision-Date: 2010-11-19 22:39+0000\n" -"Last-Translator: Kovid Goyal \n" +"POT-Creation-Date: 2010-11-25 04:21+0000\n" +"PO-Revision-Date: 2010-11-25 19:52+0000\n" +"Last-Translator: Vladimir Oka \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-11-20 05:05+0000\n" +"X-Launchpad-Export-Date: 2010-11-26 04:46+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:43 @@ -27,7 +27,7 @@ msgstr "Ne radi baš ništa" #: /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:444 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:448 #: /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 @@ -55,7 +55,7 @@ msgstr "Ne radi baš ništa" #: /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:354 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:357 #: /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 @@ -74,9 +74,9 @@ msgstr "Ne radi baš ništa" #: /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:620 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:826 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:828 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:624 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 #: /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:913 @@ -89,7 +89,7 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:118 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:173 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ereader/writer.py:174 -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:39 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:40 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/palmdoc/writer.py:29 #: /home/kovid/work/calibre/src/calibre/ebooks/pdb/ztxt/writer.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/crop.py:82 @@ -109,8 +109,8 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/manipulate/split.py:82 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:97 #: /home/kovid/work/calibre/src/calibre/ebooks/pdf/writer.py:98 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:300 -#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:302 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:304 +#: /home/kovid/work/calibre/src/calibre/ebooks/rtf/input.py:306 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:355 #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:362 #: /home/kovid/work/calibre/src/calibre/gui2/actions/edit_metadata.py:279 @@ -121,15 +121,15 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:114 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:139 #: /home/kovid/work/calibre/src/calibre/gui2/convert/metadata.py:141 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:936 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:945 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1252 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1255 +#: /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/dialogs/comicconf.py:47 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:120 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -138,13 +138,13 @@ msgstr "Ne radi baš ništa" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:189 #: /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:374 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:386 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1255 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1359 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2145 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2147 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2279 +#: /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:1254 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1355 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2151 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2153 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2284 #: /home/kovid/work/calibre/src/calibre/library/server/mobile.py:229 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:139 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:142 @@ -185,9 +185,9 @@ msgstr "Akcije korisničkog interfejsa" #: /home/kovid/work/calibre/src/calibre/customize/__init__.py:386 #: /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/gui2/preferences/main.py:187 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:251 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:273 +#: /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/viewer/main_ui.py:206 msgid "Preferences" msgstr "Podešavanja" @@ -267,43 +267,43 @@ msgstr "Upiši metapodatke u %s fajlova" msgid "Set metadata from %s files" msgstr "Učitaj metapodatke iz %s fajlova" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:713 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 msgid "Look and Feel" msgstr "Izgled i ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Interface" msgstr "Interfejs" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:719 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "Prilagodite izgled i ponašanje calibrea da odgovara vašem ukusu" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:725 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 msgid "Behavior" msgstr "Ponašanje" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:731 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 msgid "Change the way calibre behaves" msgstr "Promenite način ponašanja calibrea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:736 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "Dodajte sopstvene kolone" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:742 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 msgid "Add/remove your own columns to the calibre book list" msgstr "Dodajte/uklonite sopstvene kolone za calibre spisak knjiga" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:747 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 msgid "Customize the toolbar" msgstr "Prilagodite traku sa alatima" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:753 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 msgid "" "Customize the toolbars and context menus, changing which actions are " "available in each" @@ -311,57 +311,57 @@ msgstr "" "Prilagodite traku sa alatima i kontekstno osetljive menije menjajući akcije " "koje su na raspolaganju u svakom od njih" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:759 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 msgid "Input Options" msgstr "Ulazna podešavanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Conversion" msgstr "Konverzija" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:765 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 msgid "Set conversion options specific to each input format" msgstr "Postavite opcije za konverziju za svaki od ulaznih formata" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:770 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 msgid "Common Options" msgstr "Uobičajene opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:776 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 msgid "Set conversion options common to all formats" msgstr "Postavite opcije za konverziju za sve formate" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:781 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 msgid "Output Options" msgstr "Izlazne opcije" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:787 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 msgid "Set conversion options specific to each output format" msgstr "Postavite opcije za konverziju specifične za svaki izlazni format" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:792 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 msgid "Adding books" msgstr "Dodajem knjige" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Import/Export" msgstr "Uvoz/izvoz" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:798 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 msgid "Control how calibre reads metadata from files when adding books" msgstr "" "Kontrolišite kako calibre čita metapodatke iz fajlova kada dodaje knjige" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:804 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 msgid "Saving books to disk" msgstr "Snimam kjige na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:810 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 msgid "" "Control how calibre exports files from its database to disk when using Save " "to disk" @@ -369,32 +369,32 @@ msgstr "" "Kontrolišite kako calibre izvozi fajlove iz baze podataka na disk kada se " "koristi opcija Snimi na disk" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:816 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:818 msgid "Sending books to devices" msgstr "Šaljem knjige na uređaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:822 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 msgid "Control how calibre transfers files to your ebook reader" msgstr "Kontrolišite kako calibre šalje fajlove na vaš čitač" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:828 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 msgid "Metadata plugboards" msgstr "Priključci za metapodatke" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:834 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 msgid "Change metadata fields before saving/sending" msgstr "Izmeni metapodatke pre snimanja/slanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:839 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 msgid "Sharing books by email" msgstr "Šaljem knjige elektronskom poštom" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing" msgstr "Razmena" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 msgid "" "Setup sharing of books via email. Can be used for automatic sending of " "downloaded news to your devices" @@ -402,11 +402,11 @@ msgstr "" "Podesite razmenu knjiga elektronskom poštom. Ovo se može koristiti i za " "automatsko slanje preuzetih vesti na vaš uređaj" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:851 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:853 msgid "Sharing over the net" msgstr "Razmena preko Interneta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 msgid "" "Setup the calibre Content Server which will give you access to your calibre " "library from anywhere, on any device, over the internet" @@ -414,33 +414,33 @@ msgstr "" "Podesite calibre server sadržaja koji će omogućiti pristup vašoj calibre " "biblioteci s bilo koje lokacije, bilo kog uređaja, a preko Interneta" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:864 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 msgid "Plugins" msgstr "Dodaci" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:866 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Advanced" msgstr "Napredno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:870 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 msgid "Add/remove/customize various bits of calibre functionality" msgstr "Dodaj/ukloni/podesi različite elemente ponašanja calibrea" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:876 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 msgid "Tweaks" msgstr "Fina podešavanja" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:882 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 msgid "Fine tune how calibre behaves in various contexts" msgstr "Fino podesite kako se calibre ponaša u različitim situacijama" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:887 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 msgid "Miscellaneous" msgstr "Razno" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:893 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 msgid "Miscellaneous advanced configuration" msgstr "Razna napredna podešavanja" @@ -602,7 +602,11 @@ msgstr "" msgid "This profile is intended for the Amazon Kindle DX." msgstr "Ovaj profil je namenjen za Amazon Kindle DX čitače." -#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:686 +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:684 +msgid "This profile is intended for the B&N Nook Color." +msgstr "Ovaj profil je namenjen B&N Nook Color čitaču." + +#: /home/kovid/work/calibre/src/calibre/customize/profiles.py:695 msgid "This profile is intended for the Sanda Bambook." msgstr "Ovaj profil je namenjen Sanda Bambook čitaču." @@ -765,16 +769,16 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:257 #: /home/kovid/work/calibre/src/calibre/library/database2.py:187 #: /home/kovid/work/calibre/src/calibre/library/database2.py:200 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2005 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2015 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:149 msgid "News" msgstr "Vesti" #: /home/kovid/work/calibre/src/calibre/devices/apple/driver.py:2554 #: /home/kovid/work/calibre/src/calibre/gui2/catalog/catalog_epub_mobi.py:20 -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:558 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1968 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:1986 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:560 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1978 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:1996 msgid "Catalog" msgstr "Katalog" @@ -876,8 +880,8 @@ msgstr "Uspostavi vezu sa SpringDesign Alex čitačem." #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:102 #: /home/kovid/work/calibre/src/calibre/devices/hanvon/driver.py:113 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:264 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:296 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:268 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:256 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:274 msgid "Removing books from device..." @@ -966,26 +970,26 @@ msgstr "" msgid "Getting list of books on device..." msgstr "Preuzimam spisak knjiga sa uređaja..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:300 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:307 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:304 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:311 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:281 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:286 msgid "Removing books from device metadata listing..." msgstr "Uklanjam knjiga sa spiska metapodataka na uređaju..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:312 -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:347 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:316 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:351 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:219 #: /home/kovid/work/calibre/src/calibre/devices/usbms/driver.py:250 msgid "Adding books to device metadata listing..." msgstr "Dodajem knjige na spisak metapodataka na uređaju..." -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:424 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 #: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 msgid "Not Implemented" msgstr "Nije dovršeno" -#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:425 +#: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:429 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." @@ -2262,7 +2266,7 @@ msgid "Path to output file" msgstr "Putanja do izlaznog fajla" #: /home/kovid/work/calibre/src/calibre/ebooks/lrf/lrs/convert_from.py:290 -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:128 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 msgid "Verbose processing" msgstr "Detaljni izveštaj o obradi" @@ -2642,6 +2646,7 @@ msgid "No cover found" msgstr "Nije nađena nijedna naslovna strana" #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/covers.py:28 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:44 msgid "Cover download" msgstr "Omot preuzet" @@ -2709,19 +2714,19 @@ msgstr "opis/prikazi" msgid "Download %s from %s" msgstr "Preuzmi %s sa %s" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:149 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:150 msgid "Convert comments downloaded from %s to plain text" msgstr "Pretvori komentare preuzete sa %s u običan tekst" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:175 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:178 msgid "Downloads metadata from Google Books" msgstr "Preuzmi metapodatke s Google Books" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:192 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:195 msgid "Downloads metadata from isbndb.com" msgstr "Preuzmi metapodatke s isbndb.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:220 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:223 msgid "" "To use isbndb.com you must sign up for a %sfree account%s and enter your " "access key below." @@ -2729,15 +2734,15 @@ msgstr "" "Da biste koristili isbndb.com morate se prijaviti za %sbesplatan nalog%s i " "uneti vaš pristupni ključ." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:230 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:233 msgid "Downloads social metadata from amazon.com" msgstr "Preuzmi društvene metapodatke s amazon.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:251 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/fetch.py:254 msgid "Downloads series/tags/rating information from librarything.com" msgstr "Preuzima informacije o seriji/etiketi/oceni sa librarything.com" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:109 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:107 msgid "" "\n" "%prog [options] key\n" @@ -2761,23 +2766,24 @@ msgstr "" "besplatan nalog na isbndb.com.\n" "\n" -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:118 msgid "The ISBN ID of the book you want metadata for." msgstr "ISBN broj knjige za koju želite metapodatke." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:120 msgid "The author whose book to search for." msgstr "Autor čije knjige želite da pronađete." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:122 msgid "The title of the book to search for." msgstr "Naslov knjige koju želite da pronađete." -#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:126 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/isbndb.py:124 msgid "The publisher of the book to search for." msgstr "Izdavač knjige koju želite da pronađete." #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/library_thing.py:77 +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:336 msgid " not found." msgstr " nije pronađen(a)." @@ -2795,6 +2801,22 @@ msgstr "" "Preuzmi omot i metapodatke za knjigu identifikovanu ISBN brojem sa " "LibraryThing.com\n" +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:25 +msgid "Downloads metadata from french Nicebooks" +msgstr "Preuzima metapodatke s francuskog Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:41 +msgid "Downloads covers from french Nicebooks" +msgstr "Preuzima naslovne strane s francuskog Nicebooks" + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:332 +msgid "Nicebooks timed out. Try again later." +msgstr "Nicebooks nije odgovorio na vreme. Molim vas probajte kasnije." + +#: /home/kovid/work/calibre/src/calibre/ebooks/metadata/nicebooks.py:337 +msgid "An errror occured with Nicebooks cover fetcher" +msgstr "Greška u preuzimanju naslovnih strana s Nicebooks" + #: /home/kovid/work/calibre/src/calibre/ebooks/metadata/opf2.py:1308 #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/base.py:1401 msgid "Cover" @@ -2952,7 +2974,7 @@ msgstr "Fusnote" msgid "Sidebar" msgstr "Bočna traka" -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:22 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:23 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:24 msgid "" @@ -2962,7 +2984,7 @@ msgstr "" "Calibre obično tretira prazne redove kao granicu pasusa. Uključivanjem ove " "opcije podrazumevaće se da svaki red predstavlja jedan pasus." -#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:26 +#: /home/kovid/work/calibre/src/calibre/ebooks/pdb/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/tcr/input.py:27 #: /home/kovid/work/calibre/src/calibre/ebooks/txt/input.py:28 msgid "" @@ -3511,7 +3533,7 @@ msgid "Disable UI animations" msgstr "Onemogući animacije u korisničkom interfejsu" #: /home/kovid/work/calibre/src/calibre/gui2/__init__.py:183 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:509 msgid "Copied" msgstr "Kopirano" @@ -3684,7 +3706,7 @@ msgid "Add books to your calibre library from the connected device" msgstr "Dodaj knjige u calibre biblioteku s priključenog uređaja" #: /home/kovid/work/calibre/src/calibre/gui2/actions/annotate.py:20 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:547 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:542 msgid "Fetch annotations (experimental)" msgstr "Preuzmi beleške (eksperimentalno)" @@ -3781,7 +3803,7 @@ msgid "Checking database integrity" msgstr "Proveravam integritet baze podataka" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:128 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:656 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:593 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/misc.py:41 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:54 msgid "Error" @@ -3797,15 +3819,15 @@ msgstr "Pronađene su neke nedoslednosti" #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:135 msgid "" -"The following books had formats listed in the database that are not actually " -"available. The entries for the formats have been removed. You should check " -"them manually. This can happen if you manipulate the files in the library " -"folder directly." +"The following books had formats or covers listed in the database that are " +"not actually available. The entries for the formats/covers have been " +"removed. You should check them manually. This can happen if you manipulate " +"the files in the library folder directly." msgstr "" -"Sledeće knjige imaju formate navedene u bazi podataka koji u stvari ne " -"postoje. Informacije o ovim formatima su uklonjene. Preporučujem da ove " -"formate proverite i ručno. Do ove greške može doći ako ručno baratate " -"direktorijumom koji sadrži vašu biblioteku." +"Sledeće knjige su imale formate ili naslovne strane navedene u bazi podataka " +"koje u stvari nisu bile dostupne. Stavke za formate/naslovne strane su " +"uklonjene. Molim vas da ih ručno proverite. Ovo može da se dogodi ako je " +"bilo direktne manipulacije fajlovima u direktorijumima biblioteke." #: /home/kovid/work/calibre/src/calibre/gui2/actions/choose_library.py:148 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar.py:51 @@ -3990,6 +4012,10 @@ msgstr "Ne mogu da konvertujem" msgid "Starting conversion of %d book(s)" msgstr "Počinjem konverziju %d knjiga." +#: /home/kovid/work/calibre/src/calibre/gui2/actions/convert.py:170 +msgid "Empty output file, probably the conversion process crashed" +msgstr "Prazan izlazni fajl - proces konverzije verovatno nije uspeo" + #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:83 msgid "Copy to library" msgstr "Kopiraj u biblioteku" @@ -4024,7 +4050,7 @@ msgid "Could not copy books: " msgstr "Nisam uspeo da prekopiram knjige: " #: /home/kovid/work/calibre/src/calibre/gui2/actions/copy_to_library.py:147 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:729 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:664 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_bulk.py:687 #: /home/kovid/work/calibre/src/calibre/gui2/metadata.py:190 msgid "Failed" @@ -4087,14 +4113,14 @@ msgid "Main memory" msgstr "Osnovna memorija" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:116 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:472 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:481 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:467 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:476 msgid "Storage Card A" msgstr "Memorijska kartica A" #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:117 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:483 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:469 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:478 msgid "Storage Card B" msgstr "Memorijska kartica B" @@ -4339,6 +4365,7 @@ msgid "Ctrl+P" msgstr "Ctrl+P" #: /home/kovid/work/calibre/src/calibre/gui2/actions/preferences.py:23 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:200 msgid "Run welcome wizard" msgstr "Pokrenite čarobnjaka za dobrodošlicu" @@ -4571,7 +4598,7 @@ msgid "The specified directory could not be processed." msgstr "Nisam mogao da obradim navedeni direktorijum" #: /home/kovid/work/calibre/src/calibre/gui2/add.py:229 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:878 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:813 msgid "No books" msgstr "Nema knjiga" @@ -6134,103 +6161,103 @@ msgstr "etikete za dodavanje" msgid "tags to remove" msgstr "etikete za uklanjanje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:44 #: /home/kovid/work/calibre/src/calibre/utils/ipc/job.py:136 msgid "No details available." msgstr "Nema detaljnih podataka." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:188 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:183 msgid "Device no longer connected." msgstr "Uređaj više nije priključen." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:306 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:301 msgid "Get device information" msgstr "Prikupi informacije o uređaju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:317 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:312 msgid "Get list of books on device" msgstr "Preuzmi spisak knjiga sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:327 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:322 msgid "Get annotations from device" msgstr "Preuzmi beleške sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:334 msgid "Send metadata to device" msgstr "Pošalji metapodatke na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:344 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:339 msgid "Send collections to device" msgstr "Pošalji kolekciju na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:379 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:374 msgid "Upload %d books to device" msgstr "Prenesi %d knjiga na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:389 msgid "Delete books from device" msgstr "Izbriši kjnige sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:406 msgid "Download books from device" msgstr "Preuzmi knjige sa uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:421 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:416 msgid "View book on device" msgstr "Pregledaj knjige na uređaju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:455 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:450 msgid "Set default send to device action" msgstr "Postavi podrazumevanu akciju pri prenošenju na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:461 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:456 msgid "Send to main memory" msgstr "Pošalji u osnovnu memoriju" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:458 msgid "Send to storage card A" msgstr "Pošalji na memorijsku karticu A" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:460 msgid "Send to storage card B" msgstr "Pošalji na memorijsku karticu B" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:470 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:465 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:474 msgid "Main Memory" msgstr "Osnovna memorija" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:486 msgid "Send specific format to" msgstr "Pošalji određeni format na" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:487 msgid "Send and delete from library" msgstr "Pošalji i izbriši iz biblioteke" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:535 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:530 msgid "Eject device" msgstr "Isključi uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:657 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:594 msgid "Error communicating with device" msgstr "Greška u komunikaciji sa uređajem" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1302 +#: /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/email.py:267 msgid "No suitable formats" msgstr "Nema odgovarajućih formata" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:688 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:623 msgid "Select folder to open as device" msgstr "Izaberite direktorijum koji će biti korišćen kao uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:735 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:670 msgid "Error talking to device" msgstr "Greška u komunikaciji sa uređajem" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:736 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:671 msgid "" "There was a temporary error talking to the device. Please unplug and " "reconnect the device and or reboot." @@ -6238,114 +6265,59 @@ msgstr "" "Došlo je do privremene greške u komunikaciji sa uređajem. Molim vas da " "isključite uređaj i/ili ponovo pokrenete računar." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:779 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:714 msgid "Device: " msgstr "Uređaj: " -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:781 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:716 msgid " detected." msgstr " detektovan." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:879 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:814 msgid "selected to send" msgstr "izabrane za slanje" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:884 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:819 msgid "Choose format to send to device" msgstr "Izaberi format za slanje na uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:828 msgid "No device" msgstr "Nema uređaja" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:894 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:829 msgid "Cannot send: No device is connected" msgstr "Ne mogu da pošaljem: Nije priključen nijedan uređaj" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:897 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:901 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:832 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:836 msgid "No card" msgstr "Nema memorijske kartice" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:898 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:902 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:833 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:837 msgid "Cannot send: Device has no storage card" msgstr "Ne mogu da pošaljem: Uređaj nema memorijsku karticu" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:943 -msgid "E-book:" -msgstr "E-knjiga:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:946 -msgid "Attached, you will find the e-book" -msgstr "E-knjigu ćete pronaći priključenu uz ovu poruku" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:947 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 -msgid "by" -msgstr "od" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:948 -msgid "in the %s format." -msgstr "u formatu %s." - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:961 -msgid "Sending email to" -msgstr "Šaljem poruku za" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:991 -msgid "Auto convert the following books before sending via email?" -msgstr "Automatski konvertuj ove knjige pre slanja elektronskom poštom?" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:998 -msgid "" -"Could not email the following books as no suitable formats were found:" -msgstr "" -"Nisam uspeo da pošaljem ove knjige, jer nisu pronađeni odgovarajući formati:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1016 -msgid "Failed to email books" -msgstr "Nisam uspeo da pošaljem knjige" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1017 -msgid "Failed to email the following books:" -msgstr "Nisam uspeo da pošaljem sledeće knjige:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1021 -msgid "Sent by email:" -msgstr "Poslato elektronskom poštom:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1055 -msgid "News:" -msgstr "Vesti:" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1056 -msgid "Attached is the" -msgstr "Priključeno je" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1067 -msgid "Sent news to" -msgstr "Poslao vesti za" - -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1096 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1179 -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1296 +#: /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 msgid "Auto convert the following books before uploading to the device?" msgstr "Automatski konvertuj sledeće knjige pre slanja na uređaj?" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1125 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:912 msgid "Sending catalogs to device." msgstr "Šaljem katalog na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1210 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:997 msgid "Sending news to device." msgstr "Šaljem vesti na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1263 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1050 msgid "Sending books to device." msgstr "Šaljem knjige na uređaj." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1303 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1090 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." @@ -6354,11 +6326,11 @@ msgstr "" "odgovarajući formati. Morate prvo konvertovati knjige u format koji vaš " "uređaj podržava." -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1367 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1154 msgid "No space on device" msgstr "Na uređaju nema dovoljno mesta" -#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1368 +#: /home/kovid/work/calibre/src/calibre/gui2/device.py:1155 msgid "" "

    Cannot upload books to device there is no more free space available " msgstr "" @@ -6552,7 +6524,7 @@ msgid "No location selected" msgstr "Nije izabrana nijedna lokacija" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/choose_library.py:84 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:640 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:654 msgid "Bad location" msgstr "Neispravna lokacija" @@ -8070,7 +8042,7 @@ msgid "Discard changes" msgstr "Odbaci izmene" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/tweak_epub_ui.py:60 -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:225 msgid "&Cancel" msgstr "&Odustani" @@ -8278,6 +8250,69 @@ msgstr "" msgid "Recipe source code (python)" msgstr "Izvorni kod recepta (python)" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 +msgid "No details available" +msgstr "Detalji nisu dostupni" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +msgid "Email %s to %s" +msgstr "Pošalji %s na %s" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +msgid "News:" +msgstr "Vesti:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 +msgid "Attached is the" +msgstr "Priključeno je" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +msgid "E-book:" +msgstr "E-knjiga:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +msgid "Attached, you will find the e-book" +msgstr "E-knjigu ćete pronaći priključenu uz ovu poruku" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 +msgid "by" +msgstr "od" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +msgid "in the %s format." +msgstr "u formatu %s." + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +msgid "Sending email to" +msgstr "Šaljem poruku za" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +msgid "Auto convert the following books before sending via email?" +msgstr "Automatski konvertuj ove knjige pre slanja elektronskom poštom?" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +msgid "" +"Could not email the following books as no suitable formats were found:" +msgstr "" +"Nisam uspeo da pošaljem ove knjige, jer nisu pronađeni odgovarajući formati:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 +msgid "Failed to email books" +msgstr "Nisam uspeo da pošaljem knjige" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 +msgid "Failed to email the following books:" +msgstr "Nisam uspeo da pošaljem sledeće knjige:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 +msgid "Sent by email:" +msgstr "Poslato elektronskom poštom:" + +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +msgid "Sent news to" +msgstr "Poslao vesti za" + #: /home/kovid/work/calibre/src/calibre/gui2/filename_pattern_ui.py:112 msgid "" "No matches for the search phrase %s were found." msgstr "Ništa nije pronađeno za upit %s." #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main.py:160 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:443 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:446 msgid "No matches found" msgstr "Ništa nije pronađeno" @@ -8727,12 +8762,12 @@ msgid "LRF Viewer toolbar" msgstr "Traka sa alatkama za LRF čitač" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:131 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Page" msgstr "Sledeća strana" #: /home/kovid/work/calibre/src/calibre/gui2/lrf_renderer/main_ui.py:132 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:496 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Page" msgstr "Prethodna strana" @@ -8776,7 +8811,7 @@ msgid "Do not check for updates" msgstr "Ne proveravaj postojanje novije verzije" #: /home/kovid/work/calibre/src/calibre/gui2/main.py:58 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:648 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:662 msgid "Calibre Library" msgstr "Calibre biblioteka" @@ -9490,27 +9525,27 @@ msgstr "Prikaži &tekst ispod ikona:" msgid "&Split the toolbar into two toolbars" msgstr "Podeli traku &sa alatima na dve" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:215 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 msgid "&Apply" msgstr "&Primeni" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:229 msgid "Restore &defaults" msgstr "Vrati po&drazumevane vrednosti" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:223 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:230 msgid "Save changes" msgstr "Sačuvaj izmene" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:224 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:231 msgid "Cancel and return to overview" msgstr "Odustani i vrati se na pregled" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:269 msgid "Restoring to defaults not supported for" msgstr "Vraćanje na podrazumevane vrednosti nije podržano za" -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:294 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:304 msgid "" "Some of the changes you made require a restart. Please restart calibre as " "soon as possible." @@ -9518,7 +9553,7 @@ msgstr "" "Neke od izmena koje ste napravili zahtevaju ponovo pokretanje programa. " "Molim vas da što pre ponovo pokrenete calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:297 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:307 msgid "" "The changes you have made require calibre be restarted immediately. You will " "not be allowed set any more preferences, until you restart." @@ -9526,7 +9561,7 @@ msgstr "" "Izmene koje ste uneli zahtevaju da odmah ponovo pokrenete calibre. Dok to ne " "uradite neće biti moguće menjati ostala podešavanja." -#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:302 +#: /home/kovid/work/calibre/src/calibre/gui2/preferences/main.py:312 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server.py:120 msgid "Restart needed" msgstr "Potrebno je ponovno pokretanje" @@ -9881,7 +9916,7 @@ msgstr "" "uređaje podešavanjem dodatka za uređaj u meniju Podešavanja->Napredna->Dodaci" #: /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:331 msgid "Failed to start content server" msgstr "Nisam uspeo da pokrenem server sadržaja" @@ -10243,7 +10278,7 @@ msgstr "" "Izmena metapodataka za ovoliko knjiga može potrajati. Da li ste sigurni?" #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:512 -#: /home/kovid/work/calibre/src/calibre/library/database2.py:295 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "Pretrage" @@ -10336,28 +10371,28 @@ msgstr "" "Ove knjige su već konvertovane u format %s. Da li želite da ih ponovo " "konvertujete?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:171 msgid "&Restore" msgstr "V&rati na ekran" -#: /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 "Pošaljite &donaciju da podržite razvoj calibre programa" -#: /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 "Isključi pov&ezani uređaj" -#: /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 "Kratko uputstvo za Calibre" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:448 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:478 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "Greška u konverziji" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:449 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:451 msgid "" "

    Could not convert: %s

    It is a DRMed book. You must " "first remove the DRM using third party tools." @@ -10365,15 +10400,15 @@ msgstr "" "

    Nisam uspeo da konvertujem: %s

    Knjiga je zaštićena DRMom. Prvo morate ukloniti DRM nezavisnim alatima." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:463 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:465 msgid "Recipe Disabled" msgstr "Recept je isključen" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:479 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:481 msgid "Failed" msgstr "Neuspelo" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:515 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:517 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. " @@ -10383,12 +10418,12 @@ msgstr "" "koristi molim vas da razmislite o mogućnosti da napravite donaciju u korist " "daljeg razvoja. Vaše donacije pomažu da se razvoj calibrea nastavi." -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:541 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:543 msgid "There are active jobs. Are you sure you want to quit?" msgstr "" "Još uvek ima aktivnih poslova. Da li ste sigurni da želite da prekinete rad?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:546 msgid "" " is communicating with the device!
    \n" " Quitting may cause corruption on the device.
    \n" @@ -10399,11 +10434,11 @@ msgstr "" "uređaju.
    \n" " Da li ste sigurni da želite da prekinete rad?" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:548 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:550 msgid "WARNING: Active jobs" msgstr "UPOZORENJE: Aktivni poslovi" -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:626 +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:628 msgid "" "will keep running in the system tray. To close it, choose Quit in the " "context menu of the system tray." @@ -10587,7 +10622,7 @@ msgid "Options to customize the ebook viewer" msgstr "Opcije za podešavanje čitača e-knjiga" #: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "Zapamti poslednje korišćenu veličinu prozora" @@ -10644,36 +10679,36 @@ msgstr "Veličina štampanih slova u px" msgid "The standard font type" msgstr "Standardna vrsta slova" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:471 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 msgid "&Lookup in dictionary" msgstr "&Pronađi u rečniku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:474 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:138 msgid "Go to..." msgstr "Idi na..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:485 msgid "Next Section" msgstr "Sledeći odeljak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:487 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 msgid "Previous Section" msgstr "Prethodni odeljak" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 msgid "Document Start" msgstr "Početak dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 msgid "Document End" msgstr "Kraj dokumenta" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 msgid "Section Start" msgstr "Početak odeljka" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:493 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 msgid "Section End" msgstr "Kraj odeljka" @@ -10743,88 +10778,88 @@ msgstr "" msgid "Search for text in book" msgstr "Traži tekst u knjizi" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:272 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:275 msgid "Print Preview" msgstr "Pregled pred štampanje" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:309 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:312 msgid "Connecting to dict.org to lookup: %s…" msgstr "Poveži se sa dict.org da pronađeš: %s…" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:410 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:413 msgid "Choose ebook" msgstr "Izaberi e-knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:411 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:414 msgid "Ebooks" msgstr "E-knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:444 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:447 msgid "No matches found for: %s" msgstr "Nije pronađeno ništa za: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:488 msgid "Loading flow..." msgstr "Učitavam izlog..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:521 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:524 msgid "Laying out %s" msgstr "Predstavljam %s" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:552 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:555 msgid "Bookmark #%d" msgstr "Oznaka #%d" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:559 msgid "Add bookmark" msgstr "Dodaj oznaku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:557 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:560 msgid "Enter title for bookmark:" msgstr "Unesi naziv za oznaku" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:567 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:570 msgid "Manage Bookmarks" msgstr "Uredi oznake" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:604 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:607 msgid "Loading ebook..." msgstr "Učitavam e-knjigu..." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:612 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:615 msgid "DRM Error" msgstr "DRM greška" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:613 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:616 msgid "

    This book is protected by DRM" msgstr "

    Ova knjiga je zaštićenaDRMom" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:617 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:620 msgid "Could not open ebook" msgstr "Nisam uspeo da otvorim e-knjigu" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:695 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:698 msgid "Options to control the ebook viewer" msgstr "Opcije za kontrolu čitača e-knjiga" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:702 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 msgid "" "If specified, viewer window will try to come to the front when started." msgstr "" "Ako je naveden, prozor čitača će pokušati da pri pokretanju dođe u prvi plan." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:705 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:708 msgid "" "If specified, viewer window will try to open full screen when started." msgstr "" "Ako je navedeno, prozor za čitanje će se pri pokretanju otvoriti preko celog " "ekrana." -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:710 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:713 msgid "Print javascript alert and console messages to the console" msgstr "Prikaži javascript upozorenja i poruke na konzoli" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:716 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:719 msgid "" "%prog [options] file\n" "\n" @@ -10942,7 +10977,7 @@ msgstr "Sakrij" msgid "Toggle" msgstr "Prebaci" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:390 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:400 msgid "" "If you use the WordPlayer e-book app on your Android phone, you can access " "your calibre book collection directly on the device. To do this you have to " @@ -10952,14 +10987,14 @@ msgstr "" "telefonu, možete pristupiti vašoj calibre biblioteci direktno na uređaju. Da " "biste ovo postigli morate uključiti server sadržaja." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:394 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:404 msgid "" "Remember to leave calibre running as the server only runs as long as calibre " "is running." msgstr "" "Ne zaboravite da ostavite calibre pokrenut, jer server inače neće raditi." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:396 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:406 msgid "" "You have to add the URL http://myhostname:8080 as your calibre library in " "WordPlayer. Here myhostname should be the fully qualified hostname or the IP " @@ -10969,20 +11004,20 @@ msgstr "" "WordPlayeru. Ovde mojhost treba da bude puno ime, ili IP adresa računara na " "kome ste pokrenuli calibre." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:483 msgid "Moving library..." msgstr "Premeštam biblioteku..." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:489 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:490 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:499 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:500 msgid "Failed to move library" msgstr "Nisam uspeo da premestim biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:544 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:554 msgid "Invalid database" msgstr "Neispravna baza podataka" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:545 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:555 msgid "" "

    An invalid library already exists at %s, delete it before trying to move " "the existing library.
    Error: %s" @@ -10990,21 +11025,21 @@ msgstr "" "

    U %s već postoji jedna neispravna biblioteka. Izbrišite je pre nego što " "premestite ovu biblioteku.
    Greška: %s" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:556 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:566 msgid "Could not move library" msgstr "Nisam uspeo da premestim biblioteku" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:627 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 msgid "Select location for books" msgstr "Izaberite putanju za knjige" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:641 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:655 msgid "" "You must choose an empty folder for the calibre library. %s is not empty." msgstr "" "Morate izabrati prazan direktorijum za calibre biblioteku. %s nije prazan." -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:715 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/__init__.py:729 msgid "welcome wizard" msgstr "čarobnjak za dobrodošlicu" @@ -11090,11 +11125,12 @@ msgstr "Izaberite &jezik:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:58 msgid "" -"Choose a location for your books. When you add books to calibre, they will " -"be copied here:" +"

    Choose a location for your books. When you add books to calibre, they " +"will be copied here. Use an empty folder for a new calibre library:" msgstr "" -"Izaberite mesto za vaše knjige. Kada budete dodavali knjige u calibre one će " -"biti kopirane ovde:" +"

    Izaberite lokaciju za vaše knjige. Kada budete dodavali knjige u calibre " +"one će biti smeštene ovde. Izaberite prazan direktorijum za novu " +"calibre biblioteku:" #: /home/kovid/work/calibre/src/calibre/gui2/wizard/library_ui.py:59 msgid "&Change" @@ -11449,7 +11485,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: BIBTEX izlazni form" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:538 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:540 msgid "" "Title of generated catalog used as title in metadata.\n" "Default: '%default'\n" @@ -11459,7 +11495,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:545 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:547 msgid "" "Save the output from different stages of the conversion pipeline to the " "specified directory. Useful if you are unsure at which stage of the " @@ -11472,7 +11508,7 @@ msgstr "" "Podrazumeva se: '%default'None\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:555 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:557 msgid "" "Regex describing tags to exclude as genres.\n" "Default: '%default' excludes bracketed tags, e.g. '[]'\n" @@ -11483,7 +11519,7 @@ msgstr "" "'[]'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:561 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:563 msgid "" "Comma-separated list of tag words indicating book should be excluded from " "output. Case-insensitive.\n" @@ -11496,7 +11532,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:569 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:571 msgid "" "Include 'Titles' section in catalog.\n" "Default: '%default'\n" @@ -11506,7 +11542,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:576 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:578 msgid "" "Include 'Series' section in catalog.\n" "Default: '%default'\n" @@ -11516,7 +11552,7 @@ msgstr "" "Podrazumava se: '%default'\n" "Odnosi se na: ePub i MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:583 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:585 msgid "" "Include 'Recently Added' section in catalog.\n" "Default: '%default'\n" @@ -11526,7 +11562,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:590 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:592 msgid "" "Tag prefix for user notes, e.g. '*Jeff might enjoy reading this'.\n" "Default: '%default'\n" @@ -11536,7 +11572,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:597 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:599 msgid "" "Sort titles with leading numbers as text, e.g.,\n" "'2001: A Space Odyssey' sorts as \n" @@ -11550,7 +11586,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:604 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:606 msgid "" "Specifies the output profile. In some cases, an output profile is required " "to optimize the catalog for the device. For example, 'kindle' or " @@ -11565,7 +11601,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:611 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:613 msgid "" "Tag indicating book has been read.\n" "Default: '%default'\n" @@ -11575,7 +11611,7 @@ msgstr "" "Podrazumeva se: '%default'\n" "Važi za: ePub, MOBI izlazne formate" -#: /home/kovid/work/calibre/src/calibre/library/catalog.py:617 +#: /home/kovid/work/calibre/src/calibre/library/catalog.py:619 msgid "" "Tag indicating book to be displayed as wishlist item.\n" "Default: '%default'\n" @@ -12298,32 +12334,32 @@ msgstr "" msgid "%sAverage rating is %3.1f" msgstr "%sSrednja ocena je %3.1f" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:821 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:818 msgid "Main" msgstr "Osnovna" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2305 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2310 msgid "

    Migrating old database to ebook library in %s

    " msgstr "" "

    Prevodim staru bazu podataka u biblioteku e-knjiga u %s

    " -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2334 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2339 msgid "Copying %s" msgstr "Kopiram %s" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2351 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2356 msgid "Compacting database" msgstr "Sažimam bazu podataka" -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2444 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2449 msgid "Checking SQL integrity..." msgstr "Proveravam ispravnost SQLa..." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2483 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2488 msgid "Checking for missing files." msgstr "Tražim nepostojeće fajlove." -#: /home/kovid/work/calibre/src/calibre/library/database2.py:2505 +#: /home/kovid/work/calibre/src/calibre/library/database2.py:2516 msgid "Checked id" msgstr "Proverio identifikator" @@ -13011,7 +13047,7 @@ msgstr "Nisam uspeo da dogovorim SSH sesiju: " msgid "Failed to authenticate with server: %s" msgstr "Nije uspelo prijavljivanje na server: %s" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:238 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 msgid "Control email delivery" msgstr "Kontrola dostave elektronske pošte" @@ -13653,6 +13689,17 @@ msgstr "Ne preuzimaj CSS stilove." #~ msgid "Masthead font:" #~ msgstr "Vrsta slova za Impresum:" +#~ msgid "" +#~ "The following books had formats listed in the database that are not actually " +#~ "available. The entries for the formats have been removed. You should check " +#~ "them manually. This can happen if you manipulate the files in the library " +#~ "folder directly." +#~ msgstr "" +#~ "Sledeće knjige imaju formate navedene u bazi podataka koji u stvari ne " +#~ "postoje. Informacije o ovim formatima su uklonjene. Preporučujem da ove " +#~ "formate proverite i ručno. Do ove greške može doći ako ručno baratate " +#~ "direktorijumom koji sadrži vašu biblioteku." + #~ msgid "Equals: the word or phrase must match an entire metadata field" #~ msgstr "Jednaki: rečima ili frazama koje odgovaraju celom polju metapodataka" @@ -13669,6 +13716,13 @@ msgstr "Ne preuzimaj CSS stilove." #~ msgid "Click to browse books by tags" #~ msgstr "Kliknite da tražite knjige po etiketama" +#~ msgid "" +#~ "Choose a location for your books. When you add books to calibre, they will " +#~ "be copied here:" +#~ msgstr "" +#~ "Izaberite mesto za vaše knjige. Kada budete dodavali knjige u calibre one će " +#~ "biti kopirane ovde:" + #~ msgid "" #~ "\n" #~ "

    The database of books on the reader is corrupted. Try the " From ca3f9b841d0aaa51a0705aaa9fe9187b736fb52f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Nov 2010 22:30:40 -0700 Subject: [PATCH 38/80] Implement high performance C module for sqlite custom aggregators. To enable edit line 153 of library.sqlite. In my testing showed between 1 and 5% decrease in startup time (varies depending on how many multi-author books in the library). Disabled for now, pending more testing --- setup/build_environment.py | 2 + setup/extensions.py | 7 +- setup/installer/windows/notes.rst | 6 + src/calibre/library/sqlite.py | 32 ++++- src/calibre/library/sqlite_custom.c | 173 ++++++++++++++++++++++++++++ 5 files changed, 216 insertions(+), 4 deletions(-) create mode 100644 src/calibre/library/sqlite_custom.c diff --git a/setup/build_environment.py b/setup/build_environment.py index 6c4cf04479..c021ebc6a6 100644 --- a/setup/build_environment.py +++ b/setup/build_environment.py @@ -90,11 +90,13 @@ fc_lib = '/usr/lib' podofo_inc = '/usr/include/podofo' podofo_lib = '/usr/lib' chmlib_inc_dirs = chmlib_lib_dirs = [] +sqlite_inc_dirs = [] if iswindows: prefix = r'C:\cygwin\home\kovid\sw' sw_inc_dir = os.path.join(prefix, 'include') sw_lib_dir = os.path.join(prefix, 'lib') + sqlite_inc_dirs = [sw_inc_dir] fc_inc = os.path.join(sw_inc_dir, 'fontconfig') fc_lib = sw_lib_dir chmlib_inc_dirs = consolidate('CHMLIB_INC_DIR', os.path.join(prefix, diff --git a/setup/extensions.py b/setup/extensions.py index f68a35974e..d4ac8e188c 100644 --- a/setup/extensions.py +++ b/setup/extensions.py @@ -18,7 +18,7 @@ from setup.build_environment import fc_inc, fc_lib, chmlib_inc_dirs, \ QMAKE, msvc, MT, win_inc, win_lib, png_inc_dirs, win_ddk, \ magick_inc_dirs, magick_lib_dirs, png_lib_dirs, png_libs, \ magick_error, magick_libs, ft_lib_dirs, ft_libs, jpg_libs, \ - jpg_lib_dirs, chmlib_lib_dirs + jpg_lib_dirs, chmlib_lib_dirs, sqlite_inc_dirs MT isunix = islinux or isosx or isfreebsd @@ -58,6 +58,11 @@ if iswindows: extensions = [ + Extension('sqlite_custom', + ['calibre/library/sqlite_custom.c'], + inc_dirs=sqlite_inc_dirs + ), + Extension('chmlib', ['calibre/utils/chm/swig_chm.c'], libraries=['ChmLib' if iswindows else 'chm'], diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index 45aa4d2afb..c45cd4cfc9 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -32,6 +32,12 @@ Run the following command to install python dependencies:: Install BeautifulSoup 3.0.x manually into site-packages (3.1.x parses broken HTML very poorly) + +SQLite +--------- + +Put sqlite3*.h from the sqlite windows amlgamation in ~/sw/include + Qt -------- diff --git a/src/calibre/library/sqlite.py b/src/calibre/library/sqlite.py index eb3302086d..94338433a5 100644 --- a/src/calibre/library/sqlite.py +++ b/src/calibre/library/sqlite.py @@ -7,7 +7,7 @@ __docformat__ = 'restructuredtext en' Wrapper for multi-threaded access to a single sqlite database connection. Serializes all calls. ''' -import sqlite3 as sqlite, traceback, time, uuid +import sqlite3 as sqlite, traceback, time, uuid, sys, os from sqlite3 import IntegrityError, OperationalError from threading import Thread from Queue import Queue @@ -19,6 +19,7 @@ from calibre.ebooks.metadata import title_sort, author_to_author_sort from calibre.utils.config import tweaks from calibre.utils.date import parse_date, isoformat from calibre import isbytestring +from calibre.constants import iswindows, DEBUG global_lock = RLock() @@ -114,6 +115,22 @@ def pynocase(one, two, encoding='utf-8'): pass return cmp(one.lower(), two.lower()) + +def load_c_extensions(conn, debug=DEBUG): + try: + conn.enable_load_extension(True) + ext_path = os.path.join(sys.extensions_location, 'sqlite_custom.'+ + ('pyd' if iswindows else 'so')) + conn.load_extension(ext_path) + conn.enable_load_extension(False) + return True + except Exception, e: + if debug: + print 'Failed to load high performance sqlite C extension' + print e + return False + + class DBThread(Thread): CLOSE = '-------close---------' @@ -131,11 +148,14 @@ class DBThread(Thread): def connect(self): self.conn = sqlite.connect(self.path, factory=Connection, detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES) + self.conn.execute('pragma cache_size=5000') encoding = self.conn.execute('pragma encoding').fetchone()[0] + c_ext_loaded = False #load_c_extensions(self.conn) self.conn.row_factory = sqlite.Row if self.row_factory else lambda cursor, row : list(row) self.conn.create_aggregate('concat', 1, Concatenate) - self.conn.create_aggregate('sortconcat', 2, SortedConcatenate) - self.conn.create_aggregate('sort_concat', 2, SafeSortedConcatenate) + if not c_ext_loaded: + self.conn.create_aggregate('sortconcat', 2, SortedConcatenate) + self.conn.create_aggregate('sort_concat', 2, SafeSortedConcatenate) self.conn.create_collation('PYNOCASE', partial(pynocase, encoding=encoding)) if tweaks['title_series_sorting'] == 'strictly_alphabetic': @@ -263,3 +283,9 @@ def connect(dbpath, row_factory=None): if conn.proxy.unhandled_error[0] is not None: raise DatabaseException(*conn.proxy.unhandled_error) return conn + +def test(): + c = sqlite.connect(':memory:') + if load_c_extensions(c, True): + print 'Loaded C extension successfully' + diff --git a/src/calibre/library/sqlite_custom.c b/src/calibre/library/sqlite_custom.c new file mode 100644 index 0000000000..650c474c2c --- /dev/null +++ b/src/calibre/library/sqlite_custom.c @@ -0,0 +1,173 @@ +#define UNICODE +#include + + +#include + +#include +SQLITE_EXTENSION_INIT1 + +#ifdef _MSC_VER +#define MYEXPORT __declspec(dllexport) +#else +#define MYEXPORT +#endif + +// sortconcat {{{ + +typedef struct { + unsigned char *val; + int index; + int length; +} SortConcatItem; + +typedef struct { + SortConcatItem **vals; + int count; + int length; +} SortConcatList; + +static void sort_concat_step(sqlite3_context *context, int argc, sqlite3_value **argv) { + const unsigned char *val; + int idx, sz; + SortConcatList *list; + + assert(argc == 2); + + list = (SortConcatList*) sqlite3_aggregate_context(context, sizeof(*list)); + if (list == NULL) return; + + if (list->vals == NULL) { + list->vals = (SortConcatItem**)calloc(100, sizeof(SortConcatItem*)); + if (list->vals == NULL) return; + list->length = 100; + list->count = 0; + } + + if (list->count == list->length) { + list->vals = (SortConcatItem**)realloc(list->vals, list->length + 100); + if (list->vals == NULL) return; + list->length = list->length + 100; + } + + list->vals[list->count] = (SortConcatItem*)calloc(1, sizeof(SortConcatItem)); + if (list->vals[list->count] == NULL) return; + + idx = sqlite3_value_int(argv[0]); + val = sqlite3_value_text(argv[1]); + sz = sqlite3_value_bytes(argv[1]); + if (idx == 0 || val == NULL || sz == 0) {free(list->vals[list->count]); return;} + + + + list->vals[list->count]->val = (unsigned char*)calloc(sz, sizeof(unsigned char)); + if (list->vals[list->count]->val == NULL) + {free(list->vals[list->count]); return;} + list->vals[list->count]->index = idx; + list->vals[list->count]->length = sz; + memcpy(list->vals[list->count]->val, val, sz); + list->count = list->count + 1; + +} + +static void sort_concat_free(SortConcatList *list) { + int i; + if (list == NULL) return; + for (i = 0; i < list->count; i++) { + free(list->vals[i]->val); + free(list->vals[i]); + } +} + +static int sort_concat_cmp(const void *a_, const void *b_) { + return (*((SortConcatItem**)a_))->index - (*((SortConcatItem**)b_))->index; +} + +static unsigned char* sort_concat_do_finalize(SortConcatList *list, const unsigned char join) { + unsigned char *ans, *pos; + int sz = 0, i; + + for (i = 0; i < list->count; i++) { + sz += list->vals[i]->length; + } + sz += list->count; + + ans = (unsigned char *) calloc(sz, sizeof(unsigned char)); + if (ans == NULL) return ans; + + pos = ans; + for (i = 0; i < list->count; i++) { + if (list->vals[i]->length > 0) { + memcpy(pos, list->vals[i]->val, list->vals[i]->length); + pos += list->vals[i]->length; + if (i < list->count -1) { *pos = join; pos += 1; } + } + } + + return ans; + +} + +static void sort_concat_finalize(sqlite3_context *context) { + SortConcatList *list; + unsigned char *ans; + + list = (SortConcatList*) sqlite3_aggregate_context(context, sizeof(*list)); + + if (list != NULL && list->vals != NULL && list->count > 0) { + qsort(list->vals, list->count, sizeof(list->vals[0]), sort_concat_cmp); + ans = sort_concat_do_finalize(list, ','); + if (ans != NULL) sqlite3_result_text(context, (char*)ans, -1, SQLITE_TRANSIENT); + free(ans); + sort_concat_free(list); + } + +} + +static void sort_concat_finalize2(sqlite3_context *context) { + SortConcatList *list; + unsigned char *ans; + + list = (SortConcatList*) sqlite3_aggregate_context(context, sizeof(*list)); + + if (list != NULL && list->vals != NULL && list->count > 0) { + qsort(list->vals, list->count, sizeof(list->vals[0]), sort_concat_cmp); + ans = sort_concat_do_finalize(list, '|'); + if (ans != NULL) sqlite3_result_text(context, (char*)ans, -1, SQLITE_TRANSIENT); + free(ans); + sort_concat_free(list); + } + +} + +// }}} + +MYEXPORT int sqlite3_extension_init( + sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi){ + SQLITE_EXTENSION_INIT2(pApi); + sqlite3_create_function(db, "sortconcat", 2, SQLITE_UTF8, NULL, NULL, sort_concat_step, sort_concat_finalize); + sqlite3_create_function(db, "sort_concat", 2, SQLITE_UTF8, NULL, NULL, sort_concat_step, sort_concat_finalize2); + return 0; +} + +static PyObject * +sqlite_custom_init_funcs(PyObject *self, PyObject *args) { + Py_RETURN_NONE; +} + +static PyMethodDef sqlite_custom_methods[] = { + {"init_funcs", sqlite_custom_init_funcs, METH_VARARGS, + "init_funcs()\n\nInitialize module." + }, + + {NULL, NULL, 0, NULL} +}; + +PyMODINIT_FUNC +initsqlite_custom(void) { + PyObject *m; + m = Py_InitModule3("sqlite_custom", sqlite_custom_methods, + "Implementation of custom sqlite methods in C for speed." + ); + if (m == NULL) return; +} From 64ede2a0eaf1223c6496bfd19c776b92fea4854c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 07:41:30 -0700 Subject: [PATCH 39/80] The Workingham Times by DM. Fixes #7672 (New recipe for The Workingham Times) --- .../images/news/the_workingham_times.png | Bin 0 -> 1011 bytes resources/recipes/the_workingham_times.recipe | 59 ++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 resources/images/news/the_workingham_times.png create mode 100644 resources/recipes/the_workingham_times.recipe diff --git a/resources/images/news/the_workingham_times.png b/resources/images/news/the_workingham_times.png new file mode 100644 index 0000000000000000000000000000000000000000..c22c910c9c539e722a4c6b9a6bbe78639d9644dc GIT binary patch literal 1011 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b zK-vS0-A-oPfdtD69Mgd`SU*F|v9*U87?@=|T^vI!PODx%n;jD>ap2+o>T^5G)AFAA zsZCD%Z@IiQm-TA- zwCV5933D7-_~@TkUmBDC*=aLOx-JJB8XM+pky$UJ^YKB(k&Rvlq}#Q>*v$Co@!6rY z!MHxBpxQjSAYft7V+X}2yJzdBowl4}RI;fh%Kqu>+qL_4Tz&N0UG3)l;1yBY4_{ZE zN>|siv6;F2=C+U~ncgEGpVhST=fB%``AW#qL!y!gS8rFZJ%w}nRE zdtG$;SZ%)lFg$m?{Aa?#Lr!y^S1mrCENqxu`EXs*5$9^9dGjRgtqKDyUm#ZJr5`TX|&|4Cm>FJGOp`E+T}N0Cqmg}$&!8`jGdY=~Nv&~nP5LOtf+ z*5ZHjvL@#FU;J!awCsROphP#f&RWw*8v`HplPmsSPqmN_I>D-Oa!1MPlc(I8WGbJt z&)+4ol=Wl7_K5ZGrnpVK#j{j|>tOOnjXm2lWDOEp{xdE<5>^>(HM<^|X;e#GBT7;d zOH!?pi&B9UgOP!ufv%yUu8~=Yfw`5DrIo3vE|6hhaGbaJ7>b76{FKbJN)!#2R>p=_ Y24)Zq&!79S12r&sy85}Sb4q9e0G!^!X#fBK literal 0 HcmV?d00001 diff --git a/resources/recipes/the_workingham_times.recipe b/resources/recipes/the_workingham_times.recipe new file mode 100644 index 0000000000..ad069f1e9b --- /dev/null +++ b/resources/recipes/the_workingham_times.recipe @@ -0,0 +1,59 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, Darko Miletic ' +''' +www.getwokingham.co.uk +''' + +from calibre.web.feeds.recipes import BasicNewsRecipe + +class TheWorkinghamTimes(BasicNewsRecipe): + title = 'The Workingham Times' + __author__ = 'Darko Miletic' + description = 'News from UK' + oldest_article = 2 + max_articles_per_feed = 100 + no_stylesheets = True + use_embedded_content = False + encoding = 'utf8' + publisher = 'The Wokingham Times - S&B media' + category = 'news, UK, world' + language = 'en_GB' + publication_type = 'newsportal' + extra_css = """ + body{ font-family: Arial,sans-serif } + img{display: block; margin-bottom: 0.4em} + """ + + conversion_options = { + 'comments' : description + ,'tags' : category + ,'language' : language + ,'publisher' : publisher + } + + keep_only_tags = [dict(name='div', attrs={'id':'article-body'})] + remove_tags = [ + dict(name='div' , attrs={'class':['ad']}) + ,dict(name=['meta','base','iframe','embed','object']) + ,dict(name='span' , attrs={'class':'caption small'}) + ] + remove_attributes = ['width','height','lang'] + + feeds = [ + ('Home' , 'http://www.getwokingham.co.uk/rss.xml' ) + ,('News' , 'http://www.getwokingham.co.uk/news/rss.xml' ) + ,('Entertainment', 'http://www.getwokingham.co.uk/entertainment/rss.xml') + ,('Lifestyle' , 'http://www.getwokingham.co.uk/lifestyle/rss.xml' ) + ] + + def preprocess_html(self, soup): + for item in soup.findAll(style=True): + del item['style'] + for item in soup.findAll('a'): + if item.string is not None: + str = item.string + item.replaceWith(str) + else: + item.name = 'span' + del item['href'] + return soup From 69f89114c2e12cea5f7c56281bdeeda6db22a3b9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 07:50:25 -0700 Subject: [PATCH 40/80] Bangkok Biz News and Matichon by Anat Ruangrassamee --- resources/recipes/bangkok_biz.recipe | 25 +++++++++++++++++++++++++ resources/recipes/matichon.recipe | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 resources/recipes/bangkok_biz.recipe create mode 100644 resources/recipes/matichon.recipe diff --git a/resources/recipes/bangkok_biz.recipe b/resources/recipes/bangkok_biz.recipe new file mode 100644 index 0000000000..b2a2ee42f9 --- /dev/null +++ b/resources/recipes/bangkok_biz.recipe @@ -0,0 +1,25 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1290689337(BasicNewsRecipe): + __author__ = 'Anat R.' + language = 'th' + title = u'Bangkok Biz News' + oldest_article = 7 + max_articles_per_feed = 100 + no_stylesheets = True + remove_javascript = True + use_embedded_content = False + feeds = [(u'Headlines', + u'http://www.bangkokbiznews.com/home/services/rss/home.xml'), + (u'Politics', u'http://www.bangkokbiznews.com/home/services/rss/politics.xml'), + (u'Business', u'http://www.bangkokbiznews.com/home/services/rss/business.xml'), + (u'Finance', u' http://www.bangkokbiznews.com/home/services/rss/finance.xml'), + (u'Technology', u' http://www.bangkokbiznews.com/home/services/rss/it.xml')] + remove_tags_before = dict(name='div', attrs={'class':'box-Detailcontent'}) + remove_tags_after = dict(name='p', attrs={'class':'allTags'}) + remove_tags = [] + remove_tags.append(dict(name = 'div', attrs = {'id': 'content-tools'})) + remove_tags.append(dict(name = 'p', attrs = {'class':'allTags'})) + remove_tags.append(dict(name = 'div', attrs = {'id':'morePic'})) + remove_tags.append(dict(name = 'ul', attrs = {'class':'tabs-nav'})) + diff --git a/resources/recipes/matichon.recipe b/resources/recipes/matichon.recipe new file mode 100644 index 0000000000..4860bf7620 --- /dev/null +++ b/resources/recipes/matichon.recipe @@ -0,0 +1,22 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1290412756(BasicNewsRecipe): + __author__ = 'Anat R.' + title = u'Matichon' + oldest_article = 7 + language = 'th' + max_articles_per_feed = 100 + no_stylesheets = True + remove_javascript = True + use_embedded_content = False + feeds = [(u'News', u'http://www.matichon.co.th/rss/news_article.xml'), + (u'Columns', u'http://www.matichon.co.th/rss/news_columns.xml'), + (u'Politics', u'http://www.matichon.co.th/rss/news_politic.xml'), + (u'Business', u'http://www.matichon.co.th/rss/news_business.xml'), + (u'World', u'http://www.matichon.co.th/rss/news_world.xml'), + (u'Sports', u'http://www.matichon.co.th/rss/news_sport.xml'), + (u'Entertainment', u'http://www.matichon.co.th/rss/news_entertainment.xml')] + keep_only_tags = [] + keep_only_tags.append(dict(name = 'h3', attrs = {'class' : 'read-h'})) + keep_only_tags.append(dict(name = 'p', attrs = {'class' : 'read-time'})) + keep_only_tags.append(dict(name = 'div', attrs = {'class' : 'news-content'})) From 44482af2baebba8741223b8967e4efeaf8365c45 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 08:07:54 -0700 Subject: [PATCH 41/80] News download: Update version of feedparser used to parse RSS feeds. Fixes #7674 (Downloaded "Singtao STNN" recipe contains garbage characters in article titles) --- src/calibre/web/feeds/feedparser.py | 1837 ++++++++++++++++++++------- 1 file changed, 1343 insertions(+), 494 deletions(-) diff --git a/src/calibre/web/feeds/feedparser.py b/src/calibre/web/feeds/feedparser.py index a80670555a..ead9207b70 100755 --- a/src/calibre/web/feeds/feedparser.py +++ b/src/calibre/web/feeds/feedparser.py @@ -11,8 +11,8 @@ Recommended: Python 2.3 or later Recommended: CJKCodecs and iconv_codec """ -__version__ = "4.1"# + "$Revision: 1.92 $"[11:15] + "-cvs" -__license__ = """Copyright (c) 2002-2006, Mark Pilgrim, All rights reserved. +__version__ = "4.2-pre-" + "$Revision: 316 $"[11:14] + "-svn" +__license__ = """Copyright (c) 2002-2008, Mark Pilgrim, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -39,7 +39,10 @@ __contributors__ = ["Jason Diamond ", "John Beimler ", "Fazal Majid ", "Aaron Swartz ", - "Kevin Marks "] + "Kevin Marks ", + "Sam Ruby ", + "Ade Oshineye ", + "Martin Pool "] _debug = 0 # HTTP "User-Agent" header to send to servers when downloading feeds. @@ -65,6 +68,14 @@ TIDY_MARKUP = 0 # if TIDY_MARKUP = 1 PREFERRED_TIDY_INTERFACES = ["uTidy", "mxTidy"] +# If you want feedparser to automatically resolve all relative URIs, set this +# to 1. +RESOLVE_RELATIVE_URIS = 1 + +# If you want feedparser to automatically sanitize all potentially unsafe +# HTML content, set this to 1. +SANITIZE_HTML = 1 + # ---------- required modules (should come with any Python distribution) ---------- import sgmllib, re, sys, copy, urlparse, time, rfc822, types, cgi, urllib, urllib2 try: @@ -95,10 +106,12 @@ try: _XML_AVAILABLE = 1 except: _XML_AVAILABLE = 0 - def _xmlescape(data): + def _xmlescape(data,entities={}): data = data.replace('&', '&') data = data.replace('>', '>') data = data.replace('<', '<') + for char, entity in entities: + data = data.replace(char, entity) return data # base64 support for Atom feeds that contain embedded binary data @@ -121,10 +134,35 @@ except: # chardet library auto-detects character encodings # Download from http://chardet.feedparser.org/ try: - import calibre.ebooks.chardet as chardet # Changed by Kovid + import calibre.ebooks.chardet as chardet # Changed by Kovid + if _debug: + import chardet.constants + chardet.constants._debug = 1 except: chardet = None +# reversable htmlentitydefs mappings for Python 2.2 +try: + from htmlentitydefs import name2codepoint, codepoint2name +except: + import htmlentitydefs + name2codepoint={} + codepoint2name={} + for (name,codepoint) in htmlentitydefs.entitydefs.iteritems(): + if codepoint.startswith('&#'): codepoint=unichr(int(codepoint[2:-1])) + name2codepoint[name]=ord(codepoint) + codepoint2name[ord(codepoint)]=name + +# BeautifulSoup parser used for parsing microformats from embedded HTML content +# http://www.crummy.com/software/BeautifulSoup/ +# feedparser is tested with BeautifulSoup 3.0.x, but it might work with the +# older 2.x series. If it doesn't, and you can figure out why, I'll accept a +# patch and modify the compatibility statement accordingly. +try: + import BeautifulSoup +except: + BeautifulSoup = None + # ---------- don't touch these ---------- class ThingsNobodyCaresAboutButMe(Exception): pass class CharacterEncodingOverride(ThingsNobodyCaresAboutButMe): pass @@ -134,7 +172,17 @@ class UndeclaredNamespace(Exception): pass sgmllib.tagfind = re.compile('[a-zA-Z][-_.:a-zA-Z0-9]*') sgmllib.special = re.compile(']|"[^"]*"(?=>|/|\s|\w+=)|'[^']*'(?=>|/|\s|\w+=))*(?=[<>])|.*?(?=[<>])''') + def search(self,string,index=0): + self.match = self.endbracket.match(string,index) + if self.match: return self + def start(self,n): + return self.match.end(n) + sgmllib.endbracket = EndBracketMatch() SUPPORTED_VERSIONS = {'': 'unknown', 'rss090': 'RSS 0.90', @@ -185,6 +233,13 @@ class FeedParserDict(UserDict): def __getitem__(self, key): if key == 'category': return UserDict.__getitem__(self, 'tags')[0]['term'] + if key == 'enclosures': + norel = lambda link: FeedParserDict([(name,value) for (name,value) in link.items() if name!='rel']) + return [norel(link) for link in UserDict.__getitem__(self, 'links') if link['rel']=='enclosure'] + if key == 'license': + for link in UserDict.__getitem__(self, 'links'): + if link['rel']=='license' and link.has_key('href'): + return link['href'] if key == 'categories': return [(tag['scheme'], tag['term']) for tag in UserDict.__getitem__(self, 'tags')] realkey = self.keymap.get(key, key) @@ -214,13 +269,13 @@ class FeedParserDict(UserDict): if not self.has_key(key): self[key] = value return self[key] - + def has_key(self, key): try: return hasattr(self, key) or UserDict.has_key(self, key) except AttributeError: return False - + def __getattr__(self, key): try: return self.__dict__[key] @@ -277,10 +332,43 @@ def _ebcdic_to_ascii(s): ''.join(map(chr, range(256))), ''.join(map(chr, emap))) return s.translate(_ebcdic_to_ascii_map) +_cp1252 = { + unichr(128): unichr(8364), # euro sign + unichr(130): unichr(8218), # single low-9 quotation mark + unichr(131): unichr( 402), # latin small letter f with hook + unichr(132): unichr(8222), # double low-9 quotation mark + unichr(133): unichr(8230), # horizontal ellipsis + unichr(134): unichr(8224), # dagger + unichr(135): unichr(8225), # double dagger + unichr(136): unichr( 710), # modifier letter circumflex accent + unichr(137): unichr(8240), # per mille sign + unichr(138): unichr( 352), # latin capital letter s with caron + unichr(139): unichr(8249), # single left-pointing angle quotation mark + unichr(140): unichr( 338), # latin capital ligature oe + unichr(142): unichr( 381), # latin capital letter z with caron + unichr(145): unichr(8216), # left single quotation mark + unichr(146): unichr(8217), # right single quotation mark + unichr(147): unichr(8220), # left double quotation mark + unichr(148): unichr(8221), # right double quotation mark + unichr(149): unichr(8226), # bullet + unichr(150): unichr(8211), # en dash + unichr(151): unichr(8212), # em dash + unichr(152): unichr( 732), # small tilde + unichr(153): unichr(8482), # trade mark sign + unichr(154): unichr( 353), # latin small letter s with caron + unichr(155): unichr(8250), # single right-pointing angle quotation mark + unichr(156): unichr( 339), # latin small ligature oe + unichr(158): unichr( 382), # latin small letter z with caron + unichr(159): unichr( 376)} # latin capital letter y with diaeresis + _urifixer = re.compile('^([A-Za-z][A-Za-z0-9+-.]*://)(/*)(.*?)') def _urljoin(base, uri): uri = _urifixer.sub(r'\1\3', uri) - return urlparse.urljoin(base, uri) + try: + return urlparse.urljoin(base, uri) + except: + uri = urlparse.urlunparse([urllib.quote(part) for part in urlparse.urlparse(uri)]) + return urlparse.urljoin(base, uri) class _FeedParserMixin: namespaces = {'': '', @@ -296,7 +384,7 @@ class _FeedParserMixin: 'http://purl.org/atom/ns#': '', 'http://www.w3.org/2005/Atom': '', 'http://purl.org/rss/1.0/modules/rss091#': '', - + 'http://webns.net/mvcb/': 'admin', 'http://purl.org/rss/1.0/modules/aggregation/': 'ag', 'http://purl.org/rss/1.0/modules/annotate/': 'annotate', @@ -321,6 +409,8 @@ class _FeedParserMixin: 'http://example.com/DTDs/PodCast-1.0.dtd': 'itunes', 'http://purl.org/rss/1.0/modules/link/': 'l', 'http://search.yahoo.com/mrss': 'media', + #Version 1.1.2 of the Media RSS spec added the trailing slash on the namespace + 'http://search.yahoo.com/mrss/': 'media', 'http://madskills.com/public/xml/rss/module/pingback/': 'pingback', 'http://prismstandard.org/namespaces/1.2/basic/': 'prism', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#': 'rdf', @@ -334,6 +424,7 @@ class _FeedParserMixin: 'http://hacks.benhammersley.com/rss/streaming/': 'str', 'http://purl.org/rss/1.0/modules/subscription/': 'sub', 'http://purl.org/rss/1.0/modules/syndication/': 'sy', + 'http://schemas.pocketsoap.com/rss/myDescModule/': 'szf', 'http://purl.org/rss/1.0/modules/taxonomy/': 'taxo', 'http://purl.org/rss/1.0/modules/threading/': 'thr', 'http://purl.org/rss/1.0/modules/textinput/': 'ti', @@ -341,16 +432,16 @@ class _FeedParserMixin: 'http://wellformedweb.org/commentAPI/': 'wfw', 'http://purl.org/rss/1.0/modules/wiki/': 'wiki', 'http://www.w3.org/1999/xhtml': 'xhtml', - 'http://www.w3.org/XML/1998/namespace': 'xml', - 'http://schemas.pocketsoap.com/rss/myDescModule/': 'szf' + 'http://www.w3.org/1999/xlink': 'xlink', + 'http://www.w3.org/XML/1998/namespace': 'xml' } _matchnamespaces = {} - can_be_relative_uri = ['link', 'id', 'wfw_comment', 'wfw_commentrss', 'docs', 'url', 'href', 'comments', 'license', 'icon', 'logo'] + can_be_relative_uri = ['link', 'id', 'wfw_comment', 'wfw_commentrss', 'docs', 'url', 'href', 'comments', 'icon', 'logo'] can_contain_relative_uris = ['content', 'title', 'summary', 'info', 'tagline', 'subtitle', 'copyright', 'rights', 'description'] can_contain_dangerous_markup = ['content', 'title', 'summary', 'info', 'tagline', 'subtitle', 'copyright', 'rights', 'description'] html_types = ['text/html', 'application/xhtml+xml'] - + def __init__(self, baseuri=None, baselang=None, encoding='utf-8'): if _debug: sys.stderr.write('initializing FeedParser\n') if not self._matchnamespaces: @@ -382,18 +473,25 @@ class _FeedParserMixin: self.langstack = [] self.baseuri = baseuri or '' self.lang = baselang or None + self.svgOK = 0 + self.hasTitle = 0 if baselang: - self.feeddata['language'] = baselang + self.feeddata['language'] = baselang.replace('_','-') def unknown_starttag(self, tag, attrs): if _debug: sys.stderr.write('start %s with %s\n' % (tag, attrs)) # normalize attrs attrs = [(k.lower(), v) for k, v in attrs] attrs = [(k, k in ('rel', 'type') and v.lower() or v) for k, v in attrs] - + # track xml:base and xml:lang attrsD = dict(attrs) baseuri = attrsD.get('xml:base', attrsD.get('base')) or self.baseuri + if type(baseuri) != type(u''): + try: + baseuri = unicode(baseuri, self.encoding) + except: + baseuri = unicode(baseuri, 'iso-8859-1') self.baseuri = _urljoin(self.baseuri, baseuri) lang = attrsD.get('xml:lang', attrsD.get('lang')) if lang == '': @@ -404,11 +502,11 @@ class _FeedParserMixin: lang = self.lang if lang: if tag in ('feed', 'rss', 'rdf:RDF'): - self.feeddata['language'] = lang + self.feeddata['language'] = lang.replace('_','-') self.lang = lang self.basestack.append(self.baseuri) self.langstack.append(lang) - + # track namespaces for prefix, uri in attrs: if prefix.startswith('xmlns:'): @@ -418,19 +516,19 @@ class _FeedParserMixin: # track inline content if self.incontent and self.contentparams.has_key('type') and not self.contentparams.get('type', 'xml').endswith('xml'): + if tag in ['xhtml:div', 'div']: return # typepad does this 10/2007 # element declared itself as escaped markup, but it isn't really self.contentparams['type'] = 'application/xhtml+xml' if self.incontent and self.contentparams.get('type') == 'application/xhtml+xml': - # Note: probably shouldn't simply recreate localname here, but - # our namespace handling isn't actually 100% correct in cases where - # the feed redefines the default namespace (which is actually - # the usual case for inline content, thanks Sam), so here we - # cheat and just reconstruct the element based on localname - # because that compensates for the bugs in our namespace handling. - # This will horribly munge inline content with non-empty qnames, - # but nobody actually does that, so I'm not fixing it. - tag = tag.split(':')[-1] - return self.handle_data('<%s%s>' % (tag, ''.join([' %s="%s"' % t for t in attrs])), escape=0) + if tag.find(':') <> -1: + prefix, tag = tag.split(':', 1) + namespace = self.namespacesInUse.get(prefix, '') + if tag=='math' and namespace=='http://www.w3.org/1998/Math/MathML': + attrs.append(('xmlns',namespace)) + if tag=='svg' and namespace=='http://www.w3.org/2000/svg': + attrs.append(('xmlns',namespace)) + if tag == 'svg': self.svgOK += 1 + return self.handle_data('<%s%s>' % (tag, self.strattrs(attrs)), escape=0) # match namespaces if tag.find(':') <> -1: @@ -446,14 +544,22 @@ class _FeedParserMixin: self.intextinput = 0 if (not prefix) and tag not in ('title', 'link', 'description', 'url', 'href', 'width', 'height'): self.inimage = 0 - + # call special handler (if defined) or default handler methodname = '_start_' + prefix + suffix try: method = getattr(self, methodname) return method(attrsD) except AttributeError: - return self.push(prefix + suffix, 1) + # Since there's no handler or something has gone wrong we explicitly add the element and its attributes + unknown_tag = prefix + suffix + if len(attrsD) == 0: + # No attributes so merge it into the encosing dictionary + return self.push(unknown_tag, 1) + else: + # Has attributes so create it in its own dictionary + context = self._getContext() + context[unknown_tag] = attrsD def unknown_endtag(self, tag): if _debug: sys.stderr.write('end %s\n' % tag) @@ -465,10 +571,12 @@ class _FeedParserMixin: prefix = self.namespacemap.get(prefix, prefix) if prefix: prefix = prefix + '_' + if suffix == 'svg' and self.svgOK: self.svgOK -= 1 # call special handler (if defined) or default handler methodname = '_end_' + prefix + suffix try: + if self.svgOK: raise AttributeError() method = getattr(self, methodname) method() except AttributeError: @@ -477,6 +585,7 @@ class _FeedParserMixin: # track inline content if self.incontent and self.contentparams.has_key('type') and not self.contentparams.get('type', 'xml').endswith('xml'): # element declared itself as escaped markup, but it isn't really + if tag in ['xhtml:div', 'div']: return # typepad does this 10/2007 self.contentparams['type'] = 'application/xhtml+xml' if self.incontent and self.contentparams.get('type') == 'application/xhtml+xml': tag = tag.split(':')[-1] @@ -512,19 +621,14 @@ class _FeedParserMixin: if _debug: sys.stderr.write('entering handle_entityref with %s\n' % ref) if ref in ('lt', 'gt', 'quot', 'amp', 'apos'): text = '&%s;' % ref + elif ref in self.entities.keys(): + text = self.entities[ref] + if text.startswith('&#') and text.endswith(';'): + return self.handle_entityref(text) else: - # entity resolution graciously donated by Aaron Swartz - def name2cp(k): - import htmlentitydefs - if hasattr(htmlentitydefs, 'name2codepoint'): # requires Python 2.3 - return htmlentitydefs.name2codepoint[k] - k = htmlentitydefs.entitydefs[k] - if k.startswith('&#') and k.endswith(';'): - return int(k[2:-1]) # not in latin-1 - return ord(k) - try: name2cp(ref) + try: name2codepoint[ref] except KeyError: text = '&%s;' % ref - else: text = unichr(name2cp(ref)).encode('utf-8') + else: text = unichr(name2codepoint[ref]).encode('utf-8') self.elementstack[-1][2].append(text) def handle_data(self, text, escape=1): @@ -551,12 +655,19 @@ class _FeedParserMixin: if _debug: sys.stderr.write('entering parse_declaration\n') if self.rawdata[i:i+9] == '', i) - if k == -1: k = len(self.rawdata) + if k == -1: + # CDATA block began but didn't finish + k = len(self.rawdata) + return k self.handle_data(_xmlescape(self.rawdata[i+9:k]), 0) return k+3 else: k = self.rawdata.find('>', i) - return k+1 + if k >= 0: + return k+1 + else: + # We have an incomplete CDATA block. + return k def mapContentType(self, contentType): contentType = contentType.lower() @@ -567,7 +678,7 @@ class _FeedParserMixin: elif contentType == 'xhtml': contentType = 'application/xhtml+xml' return contentType - + def trackNamespace(self, prefix, uri): loweruri = uri.lower() if (prefix, loweruri) == (None, 'http://my.netscape.com/rdf/simple/0.9/') and not self.version: @@ -588,18 +699,42 @@ class _FeedParserMixin: def resolveURI(self, uri): return _urljoin(self.baseuri or '', uri) - + def decodeEntities(self, element, data): return data + def strattrs(self, attrs): + return ''.join([' %s="%s"' % (t[0],_xmlescape(t[1],{'"':'"'})) for t in attrs]) + def push(self, element, expectingText): self.elementstack.append([element, expectingText, []]) def pop(self, element, stripWhitespace=1): if not self.elementstack: return if self.elementstack[-1][0] != element: return - + element, expectingText, pieces = self.elementstack.pop() + + if self.version == 'atom10' and self.contentparams.get('type','text') == 'application/xhtml+xml': + # remove enclosing child element, but only if it is a

    and + # only if all the remaining content is nested underneath it. + # This means that the divs would be retained in the following: + #
    foo
    bar
    + while pieces and len(pieces)>1 and not pieces[-1].strip(): + del pieces[-1] + while pieces and len(pieces)>1 and not pieces[0].strip(): + del pieces[0] + if pieces and (pieces[0] == '
    ' or pieces[0].startswith('
    ': + depth = 0 + for piece in pieces[:-1]: + if piece.startswith(''): + depth += 1 + else: + pieces = pieces[1:-1] + output = ''.join(pieces) if stripWhitespace: output = output.strip() @@ -613,15 +748,18 @@ class _FeedParserMixin: pass except binascii.Incomplete: pass - + # resolve relative URIs if (element in self.can_be_relative_uri) and output: output = self.resolveURI(output) - + # decode entities within embedded markup if not self.contentparams.get('base64', 0): output = self.decodeEntities(element, output) + if self.lookslikehtml(output): + self.contentparams['type']='text/html' + # remove temporary cruft from contentparams try: del self.contentparams['mode'] @@ -632,15 +770,32 @@ class _FeedParserMixin: except KeyError: pass + is_htmlish = self.mapContentType(self.contentparams.get('type', 'text/html')) in self.html_types # resolve relative URIs within embedded markup - if self.mapContentType(self.contentparams.get('type', 'text/html')) in self.html_types: + if is_htmlish and RESOLVE_RELATIVE_URIS: if element in self.can_contain_relative_uris: - output = _resolveRelativeURIs(output, self.baseuri, self.encoding) - + output = _resolveRelativeURIs(output, self.baseuri, self.encoding, self.contentparams.get('type', 'text/html')) + + # parse microformats + # (must do this before sanitizing because some microformats + # rely on elements that we sanitize) + if is_htmlish and element in ['content', 'description', 'summary']: + mfresults = _parseMicroformats(output, self.baseuri, self.encoding) + if mfresults: + for tag in mfresults.get('tags', []): + self._addTag(tag['term'], tag['scheme'], tag['label']) + for enclosure in mfresults.get('enclosures', []): + self._start_enclosure(enclosure) + for xfn in mfresults.get('xfn', []): + self._addXFN(xfn['relationships'], xfn['href'], xfn['name']) + vcard = mfresults.get('vcard') + if vcard: + self._getContext()['vcard'] = vcard + # sanitize embedded markup - if self.mapContentType(self.contentparams.get('type', 'text/html')) in self.html_types: + if is_htmlish and SANITIZE_HTML: if element in self.can_contain_dangerous_markup: - output = _sanitizeHTML(output, self.encoding) + output = _sanitizeHTML(output, self.encoding, self.contentparams.get('type', 'text/html')) if self.encoding and type(output) != type(u''): try: @@ -648,10 +803,25 @@ class _FeedParserMixin: except: pass + # address common error where people take data that is already + # utf-8, presume that it is iso-8859-1, and re-encode it. + if self.encoding=='utf-8' and type(output) == type(u''): + try: + output = unicode(output.encode('iso-8859-1'), 'utf-8') + except: + pass + + # map win-1252 extensions to the proper code points + if type(output) == type(u''): + output = u''.join([c in _cp1252.keys() and _cp1252[c] or c for c in output]) + # categories/tags/keywords/whatever are handled in _end_category if element == 'category': return output - + + if element == 'title' and self.hasTitle: + return output + # store output in appropriate place(s) if self.inentry and not self.insource: if element == 'content': @@ -671,7 +841,7 @@ class _FeedParserMixin: contentparams = copy.deepcopy(self.contentparams) contentparams['value'] = output self.entries[-1][element + '_detail'] = contentparams - elif (self.infeed or self.insource) and (not self.intextinput) and (not self.inimage): + elif (self.infeed or self.insource):# and (not self.intextinput) and (not self.inimage): context = self._getContext() if element == 'description': element = 'subtitle' @@ -686,6 +856,7 @@ class _FeedParserMixin: def pushContent(self, tag, attrsD, defaultContentType, expectingText): self.incontent += 1 + if self.lang: self.lang=self.lang.replace('_','-') self.contentparams = FeedParserDict({ 'type': self.mapContentType(attrsD.get('type', defaultContentType)), 'language': self.lang, @@ -698,7 +869,29 @@ class _FeedParserMixin: self.incontent -= 1 self.contentparams.clear() return value - + + # a number of elements in a number of RSS variants are nominally plain + # text, but this is routinely ignored. This is an attempt to detect + # the most common cases. As false positives often result in silent + # data loss, this function errs on the conservative side. + def lookslikehtml(self, str): + if self.version.startswith('atom'): return + if self.contentparams.get('type','text/html') != 'text/plain': return + + # must have a close tag or a entity reference to qualify + if not (re.search(r'',str) or re.search("&#?\w+;",str)): return + + # all tags must be in a restricted subset of valid HTML tags + if filter(lambda t: t.lower() not in _HTMLSanitizer.acceptable_elements, + re.findall(r' -1: @@ -707,7 +900,7 @@ class _FeedParserMixin: prefix = self.namespacemap.get(prefix, prefix) name = prefix + ':' + suffix return name - + def _getAttribute(self, attrsD, name): return attrsD.get(self._mapToStandardPrefix(name)) @@ -735,7 +928,7 @@ class _FeedParserMixin: pass attrsD['href'] = href return attrsD - + def _save(self, key, value): context = self._getContext() context.setdefault(key, value) @@ -745,7 +938,10 @@ class _FeedParserMixin: '0.92': 'rss092', '0.93': 'rss093', '0.94': 'rss094'} - if not self.version: + #If we're here then this is an RSS feed. + #If we don't have a version or have a version that starts with something + #other than RSS then there's been a mistake. Correct it. + if not self.version or not self.version.startswith('rss'): attr_version = attrsD.get('version', '') version = versionmap.get(attr_version) if version: @@ -754,7 +950,7 @@ class _FeedParserMixin: self.version = 'rss20' else: self.version = 'rss' - + def _start_dlhottitles(self, attrsD): self.version = 'hotrss' @@ -772,7 +968,7 @@ class _FeedParserMixin: self._start_link({}) self.elementstack[-1][-1] = attrsD['href'] self._end_link() - + def _start_feed(self, attrsD): self.infeed = 1 versionmap = {'0.1': 'atom01', @@ -789,24 +985,26 @@ class _FeedParserMixin: def _end_channel(self): self.infeed = 0 _end_feed = _end_channel - + def _start_image(self, attrsD): - self.inimage = 1 - self.push('image', 0) context = self._getContext() context.setdefault('image', FeedParserDict()) - + self.inimage = 1 + self.hasTitle = 0 + self.push('image', 0) + def _end_image(self): self.pop('image') self.inimage = 0 def _start_textinput(self, attrsD): - self.intextinput = 1 - self.push('textinput', 0) context = self._getContext() context.setdefault('textinput', FeedParserDict()) + self.intextinput = 1 + self.hasTitle = 0 + self.push('textinput', 0) _start_textInput = _start_textinput - + def _end_textinput(self): self.pop('textinput') self.intextinput = 0 @@ -874,7 +1072,7 @@ class _FeedParserMixin: self._save_contributor('name', value) elif self.intextinput: context = self._getContext() - context['textinput']['name'] = value + context['name'] = value _end_itunes_name = _end_name def _start_width(self, attrsD): @@ -888,7 +1086,7 @@ class _FeedParserMixin: value = 0 if self.inimage: context = self._getContext() - context['image']['width'] = value + context['width'] = value def _start_height(self, attrsD): self.push('height', 0) @@ -901,7 +1099,7 @@ class _FeedParserMixin: value = 0 if self.inimage: context = self._getContext() - context['image']['height'] = value + context['height'] = value def _start_url(self, attrsD): self.push('href', 1) @@ -914,12 +1112,6 @@ class _FeedParserMixin: self._save_author('href', value) elif self.incontributor: self._save_contributor('href', value) - elif self.inimage: - context = self._getContext() - context['image']['href'] = value - elif self.intextinput: - context = self._getContext() - context['textinput']['link'] = value _end_homepage = _end_url _end_uri = _end_url @@ -940,6 +1132,10 @@ class _FeedParserMixin: def _getContext(self): if self.insource: context = self.sourcedata + elif self.inimage and self.feeddata.has_key('image'): + context = self.feeddata['image'] + elif self.intextinput: + context = self.feeddata['textinput'] elif self.inentry: context = self.entries[-1] else: @@ -970,23 +1166,28 @@ class _FeedParserMixin: elif email: context[key] = email else: - author = context.get(key) + author, email = context.get(key), None if not author: return - emailmatch = re.search(r'''(([a-zA-Z0-9\_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?))''', author) - if not emailmatch: return - email = emailmatch.group(0) - # probably a better way to do the following, but it passes all the tests - author = author.replace(email, '') - author = author.replace('()', '') - author = author.strip() - if author and (author[0] == '('): - author = author[1:] - if author and (author[-1] == ')'): - author = author[:-1] - author = author.strip() - context.setdefault('%s_detail' % key, FeedParserDict()) - context['%s_detail' % key]['name'] = author - context['%s_detail' % key]['email'] = email + emailmatch = re.search(r'''(([a-zA-Z0-9\_\-\.\+]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?))(\?subject=\S+)?''', author) + if emailmatch: + email = emailmatch.group(0) + # probably a better way to do the following, but it passes all the tests + author = author.replace(email, '') + author = author.replace('()', '') + author = author.replace('<>', '') + author = author.replace('<>', '') + author = author.strip() + if author and (author[0] == '('): + author = author[1:] + if author and (author[-1] == ')'): + author = author[:-1] + author = author.strip() + if author or email: + context.setdefault('%s_detail' % key, FeedParserDict()) + if author: + context['%s_detail' % key]['name'] = author + if email: + context['%s_detail' % key]['email'] = email def _start_subtitle(self, attrsD): self.pushContent('subtitle', attrsD, 'text/plain', 1) @@ -997,7 +1198,7 @@ class _FeedParserMixin: self.popContent('subtitle') _end_tagline = _end_subtitle _end_itunes_subtitle = _end_subtitle - + def _start_rights(self, attrsD): self.pushContent('rights', attrsD, 'text/plain', 1) _start_dc_rights = _start_rights @@ -1013,6 +1214,7 @@ class _FeedParserMixin: self.push('item', 0) self.inentry = 1 self.guidislink = 0 + self.hasTitle = 0 id = self._getAttribute(attrsD, 'rdf:about') if id: context = self._getContext() @@ -1086,17 +1288,33 @@ class _FeedParserMixin: self._save('expired_parsed', _parse_date(self.pop('expired'))) def _start_cc_license(self, attrsD): - self.push('license', 1) + context = self._getContext() value = self._getAttribute(attrsD, 'rdf:resource') - if value: - self.elementstack[-1][2].append(value) - self.pop('license') - + attrsD = FeedParserDict() + attrsD['rel']='license' + if value: attrsD['href']=value + context.setdefault('links', []).append(attrsD) + def _start_creativecommons_license(self, attrsD): self.push('license', 1) + _start_creativeCommons_license = _start_creativecommons_license def _end_creativecommons_license(self): - self.pop('license') + value = self.pop('license') + context = self._getContext() + attrsD = FeedParserDict() + attrsD['rel']='license' + if value: attrsD['href']=value + context.setdefault('links', []).append(attrsD) + del context['license'] + _end_creativeCommons_license = _end_creativecommons_license + + def _addXFN(self, relationships, href, name): + context = self._getContext() + xfn = context.setdefault('xfn', []) + value = FeedParserDict({'relationships': relationships, 'href': href, 'name': name}) + if value not in xfn: + xfn.append(value) def _addTag(self, term, scheme, label): context = self._getContext() @@ -1104,7 +1322,7 @@ class _FeedParserMixin: if (not term) and (not scheme) and (not label): return value = FeedParserDict({'term': term, 'scheme': scheme, 'label': label}) if value not in tags: - tags.append(FeedParserDict({'term': term, 'scheme': scheme, 'label': label})) + tags.append(value) def _start_category(self, attrsD): if _debug: sys.stderr.write('entering _start_category with %s\n' % repr(attrsD)) @@ -1115,15 +1333,15 @@ class _FeedParserMixin: self.push('category', 1) _start_dc_subject = _start_category _start_keywords = _start_category - + def _end_itunes_keywords(self): for term in self.pop('itunes_keywords').split(): self._addTag(term, 'http://www.itunes.com/', None) - + def _start_itunes_category(self, attrsD): self._addTag(attrsD.get('text'), 'http://www.itunes.com/', None) self.push('category', 1) - + def _end_category(self): value = self.pop('category') if not value: return @@ -1139,19 +1357,22 @@ class _FeedParserMixin: def _start_cloud(self, attrsD): self._getContext()['cloud'] = FeedParserDict(attrsD) - + def _start_link(self, attrsD): attrsD.setdefault('rel', 'alternate') - attrsD.setdefault('type', 'text/html') + if attrsD['rel'] == 'self': + attrsD.setdefault('type', 'application/atom+xml') + else: + attrsD.setdefault('type', 'text/html') + context = self._getContext() attrsD = self._itsAnHrefDamnIt(attrsD) if attrsD.has_key('href'): attrsD['href'] = self.resolveURI(attrsD['href']) + if attrsD.get('rel')=='enclosure' and not context.get('id'): + context['id'] = attrsD.get('href') expectingText = self.infeed or self.inentry or self.insource - context = self._getContext() context.setdefault('links', []) context['links'].append(FeedParserDict(attrsD)) - if attrsD['rel'] == 'enclosure': - self._start_enclosure(attrsD) if attrsD.has_key('href'): expectingText = 0 if (attrsD.get('rel') == 'alternate') and (self.mapContentType(attrsD.get('type')) in self.html_types): @@ -1163,10 +1384,6 @@ class _FeedParserMixin: def _end_link(self): value = self.pop('link') context = self._getContext() - if self.intextinput: - context['textinput']['link'] = value - if self.inimage: - context['image']['link'] = value _end_producturl = _end_link def _start_guid(self, attrsD): @@ -1182,19 +1399,23 @@ class _FeedParserMixin: self._save('link', value) def _start_title(self, attrsD): + if self.svgOK: return self.unknown_starttag('title', attrsD.items()) self.pushContent('title', attrsD, 'text/plain', self.infeed or self.inentry or self.insource) _start_dc_title = _start_title _start_media_title = _start_title def _end_title(self): + if self.svgOK: return value = self.popContent('title') + if not value: return context = self._getContext() - if self.intextinput: - context['textinput']['title'] = value - elif self.inimage: - context['image']['title'] = value + self.hasTitle = 1 _end_dc_title = _end_title - _end_media_title = _end_title + + def _end_media_title(self): + hasTitle = self.hasTitle + self._end_title() + self.hasTitle = hasTitle def _start_description(self, attrsD): context = self._getContext() @@ -1203,6 +1424,7 @@ class _FeedParserMixin: self._start_content(attrsD) else: self.pushContent('description', attrsD, 'text/html', self.infeed or self.inentry or self.insource) + _start_dc_description = _start_description def _start_abstract(self, attrsD): self.pushContent('description', attrsD, 'text/plain', self.infeed or self.inentry or self.insource) @@ -1212,13 +1434,9 @@ class _FeedParserMixin: self._end_content() else: value = self.popContent('description') - context = self._getContext() - if self.intextinput: - context['textinput']['description'] = value - elif self.inimage: - context['image']['description'] = value self._summaryKey = None _end_abstract = _end_description + _end_dc_description = _end_description def _start_info(self, attrsD): self.pushContent('info', attrsD, 'text/plain', 1) @@ -1241,7 +1459,7 @@ class _FeedParserMixin: context = self._getContext() if context.has_key('generator_detail'): context['generator_detail']['name'] = value - + def _start_admin_generatoragent(self, attrsD): self.push('generator', 1) value = self._getAttribute(attrsD, 'rdf:resource') @@ -1256,7 +1474,7 @@ class _FeedParserMixin: if value: self.elementstack[-1][2].append(value) self.pop('errorreportsto') - + def _start_summary(self, attrsD): context = self._getContext() if context.has_key('summary'): @@ -1274,21 +1492,29 @@ class _FeedParserMixin: self.popContent(self._summaryKey or 'summary') self._summaryKey = None _end_itunes_summary = _end_summary - + def _start_enclosure(self, attrsD): attrsD = self._itsAnHrefDamnIt(attrsD) - self._getContext().setdefault('enclosures', []).append(FeedParserDict(attrsD)) + context = self._getContext() + attrsD['rel']='enclosure' + context.setdefault('links', []).append(FeedParserDict(attrsD)) href = attrsD.get('href') - if href: - context = self._getContext() - if not context.get('id'): - context['id'] = href - + if href and not context.get('id'): + context['id'] = href + def _start_source(self, attrsD): + if 'url' in attrsD: + # This means that we're processing a source element from an RSS 2.0 feed + self.sourcedata['href'] = attrsD[u'url'] + self.push('source', 1) self.insource = 1 + self.hasTitle = 0 def _end_source(self): self.insource = 0 + value = self.pop('source') + if value: + self.sourcedata['title'] = value self._getContext()['source'] = copy.deepcopy(self.sourcedata) self.sourcedata.clear() @@ -1315,6 +1541,7 @@ class _FeedParserMixin: value = self.popContent('content') if copyToDescription: self._save('description', value) + _end_body = _end_content _end_xhtml_body = _end_content _end_content_encoded = _end_content @@ -1325,7 +1552,7 @@ class _FeedParserMixin: self.push('itunes_image', 0) self._getContext()['image'] = FeedParserDict({'href': attrsD.get('href')}) _start_itunes_link = _start_itunes_image - + def _end_itunes_block(self): value = self.pop('itunes_block', 0) self._getContext()['itunes_block'] = (value == 'yes') and 1 or 0 @@ -1334,6 +1561,33 @@ class _FeedParserMixin: value = self.pop('itunes_explicit', 0) self._getContext()['itunes_explicit'] = (value == 'yes') and 1 or 0 + def _start_media_content(self, attrsD): + context = self._getContext() + context.setdefault('media_content', []) + context['media_content'].append(attrsD) + + def _start_media_thumbnail(self, attrsD): + context = self._getContext() + context.setdefault('media_thumbnail', []) + self.push('url', 1) # new + context['media_thumbnail'].append(attrsD) + + def _end_media_thumbnail(self): + url = self.pop('url') + context = self._getContext() + if url != None and len(url.strip()) != 0: + if not context['media_thumbnail'][-1].has_key('url'): + context['media_thumbnail'][-1]['url'] = url + + def _start_media_player(self, attrsD): + self.push('media_player', 0) + self._getContext()['media_player'] = FeedParserDict(attrsD) + + def _end_media_player(self): + value = self.pop('media_player') + context = self._getContext() + context['media_player']['content'] = value + if _XML_AVAILABLE: class _StrictFeedParser(_FeedParserMixin, xml.sax.handler.ContentHandler): def __init__(self, baseuri, baselang, encoding): @@ -1342,10 +1596,13 @@ if _XML_AVAILABLE: _FeedParserMixin.__init__(self, baseuri, baselang, encoding) self.bozo = 0 self.exc = None - + self.decls = {} + def startPrefixMapping(self, prefix, uri): self.trackNamespace(prefix, uri) - + if uri == 'http://www.w3.org/1999/xlink': + self.decls['xmlns:'+prefix] = uri + def startElementNS(self, name, qname, attrs): namespace, localname = name lowernamespace = str(namespace or '').lower() @@ -1360,10 +1617,7 @@ if _XML_AVAILABLE: prefix = self._matchnamespaces.get(lowernamespace, givenprefix) if givenprefix and (prefix == None or (prefix == '' and lowernamespace == '')) and not self.namespacesInUse.has_key(givenprefix): raise UndeclaredNamespace, "'%s' is not associated with a namespace" % givenprefix - if prefix: - localname = prefix + ':' + localname localname = str(localname).lower() - if _debug: sys.stderr.write('startElementNS: qname = %s, namespace = %s, givenprefix = %s, prefix = %s, attrs = %s, localname = %s\n' % (qname, namespace, givenprefix, prefix, attrs.items(), localname)) # qname implementation is horribly broken in Python 2.1 (it # doesn't report any), and slightly broken in Python 2.2 (it @@ -1372,7 +1626,21 @@ if _XML_AVAILABLE: # the qnames the SAX parser gives us (if indeed it gives us any # at all). Thanks to MatejC for helping me test this and # tirelessly telling me that it didn't work yet. - attrsD = {} + attrsD, self.decls = self.decls, {} + if localname=='math' and namespace=='http://www.w3.org/1998/Math/MathML': + attrsD['xmlns']=namespace + if localname=='svg' and namespace=='http://www.w3.org/2000/svg': + attrsD['xmlns']=namespace + + if prefix: + localname = prefix.lower() + ':' + localname + elif namespace and not qname: #Expat + for name,value in self.namespacesInUse.items(): + if name and value == namespace: + localname = name + ':' + localname + break + if _debug: sys.stderr.write('startElementNS: qname = %s, namespace = %s, givenprefix = %s, prefix = %s, attrs = %s, localname = %s\n' % (qname, namespace, givenprefix, prefix, attrs.items(), localname)) + for (namespace, attrlocalname), attrvalue in attrs._attrs.items(): lowernamespace = (namespace or '').lower() prefix = self._matchnamespaces.get(lowernamespace, '') @@ -1396,26 +1664,37 @@ if _XML_AVAILABLE: prefix = self._matchnamespaces.get(lowernamespace, givenprefix) if prefix: localname = prefix + ':' + localname + elif namespace and not qname: #Expat + for name,value in self.namespacesInUse.items(): + if name and value == namespace: + localname = name + ':' + localname + break localname = str(localname).lower() self.unknown_endtag(localname) def error(self, exc): self.bozo = 1 self.exc = exc - + def fatalError(self, exc): self.error(exc) raise exc class _BaseHTMLProcessor(sgmllib.SGMLParser): - elements_no_end_tag = ['area', 'base', 'basefont', 'br', 'col', 'frame', 'hr', - 'img', 'input', 'isindex', 'link', 'meta', 'param'] - - def __init__(self, encoding): + special = re.compile('''[<>'"]''') + bare_ampersand = re.compile("&(?!#\d+;|#x[0-9a-fA-F]+;|\w+;)") + elements_no_end_tag = [ + 'area', 'base', 'basefont', 'br', 'col', 'command', 'embed', 'frame', + 'hr', 'img', 'input', 'isindex', 'keygen', 'link', 'meta', 'param', + 'source', 'track', 'wbr' + ] + + def __init__(self, encoding, type): self.encoding = encoding + self.type = type if _debug: sys.stderr.write('entering BaseHTMLProcessor, encoding=%s\n' % self.encoding) sgmllib.SGMLParser.__init__(self) - + def reset(self): self.pieces = [] sgmllib.SGMLParser.reset(self) @@ -1426,21 +1705,31 @@ class _BaseHTMLProcessor(sgmllib.SGMLParser): return '<' + tag + ' />' else: return '<' + tag + '>' - + + def parse_starttag(self,i): + j=sgmllib.SGMLParser.parse_starttag(self, i) + if self.type == 'application/xhtml+xml': + if j>2 and self.rawdata[j-2:j]=='/>': + self.unknown_endtag(self.lasttag) + return j + def feed(self, data): data = re.compile(r'', self._shorttag_replace, data) # bug [ 1399464 ] Bad regexp for _shorttag_replace - data = re.sub(r'<([^<\s]+?)\s*/>', self._shorttag_replace, data) + data = re.sub(r'<([^<>\s]+?)\s*/>', self._shorttag_replace, data) data = data.replace(''', "'") data = data.replace('"', '"') if self.encoding and type(data) == type(u''): data = data.encode(self.encoding) sgmllib.SGMLParser.feed(self, data) + sgmllib.SGMLParser.close(self) def normalize_attrs(self, attrs): + if not attrs: return attrs # utility method to be called by descendants - attrs = [(k.lower(), v) for k, v in attrs] + attrs = dict([(k.lower(), v) for k, v in attrs]).items() attrs = [(k, k in ('rel', 'type') and v.lower() or v) for k, v in attrs] + attrs.sort() return attrs def unknown_starttag(self, tag, attrs): @@ -1449,12 +1738,24 @@ class _BaseHTMLProcessor(sgmllib.SGMLParser): # e.g. for
    , tag='pre', attrs=[('class', 'screen')]
             if _debug: sys.stderr.write('_BaseHTMLProcessor, unknown_starttag, tag=%s\n' % tag)
             uattrs = []
    -        # thanks to Kevin Marks for this breathtaking hack to deal with (valid) high-bit attribute values in UTF-8 feeds
    -        for key, value in attrs:
    -            if type(value) != type(u''):
    -                value = unicode(value, self.encoding, 'replace')
    -            uattrs.append((unicode(key, self.encoding), value))
    -        strattrs = u''.join([u' %s="%s"' % (key, value) for key, value in uattrs]).encode(self.encoding)
    +        strattrs=''
    +        if attrs:
    +            for key, value in attrs:
    +                value=value.replace('>','>').replace('<','<').replace('"','"')
    +                value = self.bare_ampersand.sub("&", value)
    +                # thanks to Kevin Marks for this breathtaking hack to deal with (valid) high-bit attribute values in UTF-8 feeds
    +                if type(value) != type(u''):
    +                    try:
    +                        value = unicode(value, self.encoding)
    +                    except:
    +                        value = unicode(value, 'iso-8859-1')
    +                uattrs.append((unicode(key, self.encoding), value))
    +            strattrs = u''.join([u' %s="%s"' % (key, value) for key, value in uattrs])
    +            if self.encoding:
    +                try:
    +                    strattrs=strattrs.encode(self.encoding)
    +                except:
    +                    pass
             if tag in self.elements_no_end_tag:
                 self.pieces.append('<%(tag)s%(strattrs)s />' % locals())
             else:
    @@ -1469,25 +1770,36 @@ class _BaseHTMLProcessor(sgmllib.SGMLParser):
         def handle_charref(self, ref):
             # called for each character reference, e.g. for ' ', ref will be '160'
             # Reconstruct the original character reference.
    -        self.pieces.append('&#%(ref)s;' % locals())
    -        
    +        if ref.startswith('x'):
    +            value = unichr(int(ref[1:],16))
    +        else:
    +            value = unichr(int(ref))
    +
    +        if value in _cp1252.keys():
    +            self.pieces.append('&#%s;' % hex(ord(_cp1252[value]))[1:])
    +        else:
    +            self.pieces.append('&#%(ref)s;' % locals())
    +
         def handle_entityref(self, ref):
             # called for each entity reference, e.g. for '©', ref will be 'copy'
             # Reconstruct the original entity reference.
    -        self.pieces.append('&%(ref)s;' % locals())
    +        if name2codepoint.has_key(ref):
    +            self.pieces.append('&%(ref)s;' % locals())
    +        else:
    +            self.pieces.append('&%(ref)s' % locals())
     
         def handle_data(self, text):
             # called for each block of plain text, i.e. outside of any tag and
             # not containing any character or entity references
             # Store the original text verbatim.
    -        if _debug: sys.stderr.write('_BaseHTMLProcessor, handle_text, text=%s\n' % text)
    +        if _debug: sys.stderr.write('_BaseHTMLProcessor, handle_data, text=%s\n' % text)
             self.pieces.append(text)
    -        
    +
         def handle_comment(self, text):
             # called for each HTML comment, e.g. 
             # Reconstruct the original comment.
             self.pieces.append('' % locals())
    -        
    +
         def handle_pi(self, text):
             # called for each processing instruction, e.g. 
             # Reconstruct original processing instruction.
    @@ -1499,7 +1811,7 @@ class _BaseHTMLProcessor(sgmllib.SGMLParser):
             #     "http://www.w3.org/TR/html4/loose.dtd">
             # Reconstruct original DOCTYPE
             self.pieces.append('' % locals())
    -        
    +
         _new_declname_match = re.compile(r'[a-zA-Z][-_.a-zA-Z0-9:]*\s*').match
         def _scan_name(self, i, declstartpos):
             rawdata = self.rawdata
    @@ -1518,20 +1830,30 @@ class _BaseHTMLProcessor(sgmllib.SGMLParser):
     #            self.updatepos(declstartpos, i)
                 return None, -1
     
    +    def convert_charref(self, name):
    +        return '&#%s;' % name
    +
    +    def convert_entityref(self, name):
    +        return '&%s;' % name
    +
         def output(self):
             '''Return processed HTML as a single string'''
             return ''.join([str(p) for p in self.pieces])
     
     class _LooseFeedParser(_FeedParserMixin, _BaseHTMLProcessor):
    -    def __init__(self, baseuri, baselang, encoding):
    +    def __init__(self, baseuri, baselang, encoding, entities):
             sgmllib.SGMLParser.__init__(self)
             _FeedParserMixin.__init__(self, baseuri, baselang, encoding)
    +        _BaseHTMLProcessor.__init__(self, encoding, 'application/xhtml+xml')
    +        self.entities=entities
     
         def decodeEntities(self, element, data):
             data = data.replace('<', '<')
             data = data.replace('<', '<')
    +        data = data.replace('<', '<')
             data = data.replace('>', '>')
             data = data.replace('>', '>')
    +        data = data.replace('>', '>')
             data = data.replace('&', '&')
             data = data.replace('&', '&')
             data = data.replace('"', '"')
    @@ -1545,7 +1867,423 @@ class _LooseFeedParser(_FeedParserMixin, _BaseHTMLProcessor):
                 data = data.replace('"', '"')
                 data = data.replace(''', "'")
             return data
    -        
    +
    +    def strattrs(self, attrs):
    +        return ''.join([' %s="%s"' % (n,v.replace('"','"')) for n,v in attrs])
    +
    +class _MicroformatsParser:
    +    STRING = 1
    +    DATE = 2
    +    URI = 3
    +    NODE = 4
    +    EMAIL = 5
    +
    +    known_xfn_relationships = ['contact', 'acquaintance', 'friend', 'met', 'co-worker', 'coworker', 'colleague', 'co-resident', 'coresident', 'neighbor', 'child', 'parent', 'sibling', 'brother', 'sister', 'spouse', 'wife', 'husband', 'kin', 'relative', 'muse', 'crush', 'date', 'sweetheart', 'me']
    +    known_binary_extensions =  ['zip','rar','exe','gz','tar','tgz','tbz2','bz2','z','7z','dmg','img','sit','sitx','hqx','deb','rpm','bz2','jar','rar','iso','bin','msi','mp2','mp3','ogg','ogm','mp4','m4v','m4a','avi','wma','wmv']
    +
    +    def __init__(self, data, baseuri, encoding):
    +        self.document = BeautifulSoup.BeautifulSoup(data)
    +        self.baseuri = baseuri
    +        self.encoding = encoding
    +        if type(data) == type(u''):
    +            data = data.encode(encoding)
    +        self.tags = []
    +        self.enclosures = []
    +        self.xfn = []
    +        self.vcard = None
    +
    +    def vcardEscape(self, s):
    +        if type(s) in (type(''), type(u'')):
    +            s = s.replace(',', '\\,').replace(';', '\\;').replace('\n', '\\n')
    +        return s
    +
    +    def vcardFold(self, s):
    +        s = re.sub(';+$', '', s)
    +        sFolded = ''
    +        iMax = 75
    +        sPrefix = ''
    +        while len(s) > iMax:
    +            sFolded += sPrefix + s[:iMax] + '\n'
    +            s = s[iMax:]
    +            sPrefix = ' '
    +            iMax = 74
    +        sFolded += sPrefix + s
    +        return sFolded
    +
    +    def normalize(self, s):
    +        return re.sub(r'\s+', ' ', s).strip()
    +
    +    def unique(self, aList):
    +        results = []
    +        for element in aList:
    +            if element not in results:
    +                results.append(element)
    +        return results
    +
    +    def toISO8601(self, dt):
    +        return time.strftime('%Y-%m-%dT%H:%M:%SZ', dt)
    +
    +    def getPropertyValue(self, elmRoot, sProperty, iPropertyType=4, bAllowMultiple=0, bAutoEscape=0):
    +        all = lambda x: 1
    +        sProperty = sProperty.lower()
    +        bFound = 0
    +        bNormalize = 1
    +        propertyMatch = {'class': re.compile(r'\b%s\b' % sProperty)}
    +        if bAllowMultiple and (iPropertyType != self.NODE):
    +            snapResults = []
    +            containers = elmRoot(['ul', 'ol'], propertyMatch)
    +            for container in containers:
    +                snapResults.extend(container('li'))
    +            bFound = (len(snapResults) != 0)
    +        if not bFound:
    +            snapResults = elmRoot(all, propertyMatch)
    +            bFound = (len(snapResults) != 0)
    +        if (not bFound) and (sProperty == 'value'):
    +            snapResults = elmRoot('pre')
    +            bFound = (len(snapResults) != 0)
    +            bNormalize = not bFound
    +            if not bFound:
    +                snapResults = [elmRoot]
    +                bFound = (len(snapResults) != 0)
    +        arFilter = []
    +        if sProperty == 'vcard':
    +            snapFilter = elmRoot(all, propertyMatch)
    +            for node in snapFilter:
    +                if node.findParent(all, propertyMatch):
    +                    arFilter.append(node)
    +        arResults = []
    +        for node in snapResults:
    +            if node not in arFilter:
    +                arResults.append(node)
    +        bFound = (len(arResults) != 0)
    +        if not bFound:
    +            if bAllowMultiple: return []
    +            elif iPropertyType == self.STRING: return ''
    +            elif iPropertyType == self.DATE: return None
    +            elif iPropertyType == self.URI: return ''
    +            elif iPropertyType == self.NODE: return None
    +            else: return None
    +        arValues = []
    +        for elmResult in arResults:
    +            sValue = None
    +            if iPropertyType == self.NODE:
    +                if bAllowMultiple:
    +                    arValues.append(elmResult)
    +                    continue
    +                else:
    +                    return elmResult
    +            sNodeName = elmResult.name.lower()
    +            if (iPropertyType == self.EMAIL) and (sNodeName == 'a'):
    +                sValue = (elmResult.get('href') or '').split('mailto:').pop().split('?')[0]
    +            if sValue:
    +                sValue = bNormalize and self.normalize(sValue) or sValue.strip()
    +            if (not sValue) and (sNodeName == 'abbr'):
    +                sValue = elmResult.get('title')
    +            if sValue:
    +                sValue = bNormalize and self.normalize(sValue) or sValue.strip()
    +            if (not sValue) and (iPropertyType == self.URI):
    +                if sNodeName == 'a': sValue = elmResult.get('href')
    +                elif sNodeName == 'img': sValue = elmResult.get('src')
    +                elif sNodeName == 'object': sValue = elmResult.get('data')
    +            if sValue:
    +                sValue = bNormalize and self.normalize(sValue) or sValue.strip()
    +            if (not sValue) and (sNodeName == 'img'):
    +                sValue = elmResult.get('alt')
    +            if sValue:
    +                sValue = bNormalize and self.normalize(sValue) or sValue.strip()
    +            if not sValue:
    +                sValue = elmResult.renderContents()
    +                sValue = re.sub(r'<\S[^>]*>', '', sValue)
    +                sValue = sValue.replace('\r\n', '\n')
    +                sValue = sValue.replace('\r', '\n')
    +            if sValue:
    +                sValue = bNormalize and self.normalize(sValue) or sValue.strip()
    +            if not sValue: continue
    +            if iPropertyType == self.DATE:
    +                sValue = _parse_date_iso8601(sValue)
    +            if bAllowMultiple:
    +                arValues.append(bAutoEscape and self.vcardEscape(sValue) or sValue)
    +            else:
    +                return bAutoEscape and self.vcardEscape(sValue) or sValue
    +        return arValues
    +
    +    def findVCards(self, elmRoot, bAgentParsing=0):
    +        sVCards = ''
    +
    +        if not bAgentParsing:
    +            arCards = self.getPropertyValue(elmRoot, 'vcard', bAllowMultiple=1)
    +        else:
    +            arCards = [elmRoot]
    +
    +        for elmCard in arCards:
    +            arLines = []
    +
    +            def processSingleString(sProperty):
    +                sValue = self.getPropertyValue(elmCard, sProperty, self.STRING, bAutoEscape=1)
    +                if sValue:
    +                    arLines.append(self.vcardFold(sProperty.upper() + ':' + sValue))
    +                return sValue or ''
    +
    +            def processSingleURI(sProperty):
    +                sValue = self.getPropertyValue(elmCard, sProperty, self.URI)
    +                if sValue:
    +                    sContentType = ''
    +                    sEncoding = ''
    +                    sValueKey = ''
    +                    if sValue.startswith('data:'):
    +                        sEncoding = ';ENCODING=b'
    +                        sContentType = sValue.split(';')[0].split('/').pop()
    +                        sValue = sValue.split(',', 1).pop()
    +                    else:
    +                        elmValue = self.getPropertyValue(elmCard, sProperty)
    +                        if elmValue:
    +                            if sProperty != 'url':
    +                                sValueKey = ';VALUE=uri'
    +                            sContentType = elmValue.get('type', '').strip().split('/').pop().strip()
    +                    sContentType = sContentType.upper()
    +                    if sContentType == 'OCTET-STREAM':
    +                        sContentType = ''
    +                    if sContentType:
    +                        sContentType = ';TYPE=' + sContentType.upper()
    +                    arLines.append(self.vcardFold(sProperty.upper() + sEncoding + sContentType + sValueKey + ':' + sValue))
    +
    +            def processTypeValue(sProperty, arDefaultType, arForceType=None):
    +                arResults = self.getPropertyValue(elmCard, sProperty, bAllowMultiple=1)
    +                for elmResult in arResults:
    +                    arType = self.getPropertyValue(elmResult, 'type', self.STRING, 1, 1)
    +                    if arForceType:
    +                        arType = self.unique(arForceType + arType)
    +                    if not arType:
    +                        arType = arDefaultType
    +                    sValue = self.getPropertyValue(elmResult, 'value', self.EMAIL, 0)
    +                    if sValue:
    +                        arLines.append(self.vcardFold(sProperty.upper() + ';TYPE=' + ','.join(arType) + ':' + sValue))
    +
    +            # AGENT
    +            # must do this before all other properties because it is destructive
    +            # (removes nested class="vcard" nodes so they don't interfere with
    +            # this vcard's other properties)
    +            arAgent = self.getPropertyValue(elmCard, 'agent', bAllowMultiple=1)
    +            for elmAgent in arAgent:
    +                if re.compile(r'\bvcard\b').search(elmAgent.get('class')):
    +                    sAgentValue = self.findVCards(elmAgent, 1) + '\n'
    +                    sAgentValue = sAgentValue.replace('\n', '\\n')
    +                    sAgentValue = sAgentValue.replace(';', '\\;')
    +                    if sAgentValue:
    +                        arLines.append(self.vcardFold('AGENT:' + sAgentValue))
    +                    elmAgent['class'] = ''
    +                    elmAgent.contents = []
    +                else:
    +                    sAgentValue = self.getPropertyValue(elmAgent, 'value', self.URI, bAutoEscape=1);
    +                    if sAgentValue:
    +                        arLines.append(self.vcardFold('AGENT;VALUE=uri:' + sAgentValue))
    +
    +            # FN (full name)
    +            sFN = processSingleString('fn')
    +
    +            # N (name)
    +            elmName = self.getPropertyValue(elmCard, 'n')
    +            if elmName:
    +                sFamilyName = self.getPropertyValue(elmName, 'family-name', self.STRING, bAutoEscape=1)
    +                sGivenName = self.getPropertyValue(elmName, 'given-name', self.STRING, bAutoEscape=1)
    +                arAdditionalNames = self.getPropertyValue(elmName, 'additional-name', self.STRING, 1, 1) + self.getPropertyValue(elmName, 'additional-names', self.STRING, 1, 1)
    +                arHonorificPrefixes = self.getPropertyValue(elmName, 'honorific-prefix', self.STRING, 1, 1) + self.getPropertyValue(elmName, 'honorific-prefixes', self.STRING, 1, 1)
    +                arHonorificSuffixes = self.getPropertyValue(elmName, 'honorific-suffix', self.STRING, 1, 1) + self.getPropertyValue(elmName, 'honorific-suffixes', self.STRING, 1, 1)
    +                arLines.append(self.vcardFold('N:' + sFamilyName + ';' +
    +                                         sGivenName + ';' +
    +                                         ','.join(arAdditionalNames) + ';' +
    +                                         ','.join(arHonorificPrefixes) + ';' +
    +                                         ','.join(arHonorificSuffixes)))
    +            elif sFN:
    +                # implied "N" optimization
    +                # http://microformats.org/wiki/hcard#Implied_.22N.22_Optimization
    +                arNames = self.normalize(sFN).split()
    +                if len(arNames) == 2:
    +                    bFamilyNameFirst = (arNames[0].endswith(',') or
    +                                        len(arNames[1]) == 1 or
    +                                        ((len(arNames[1]) == 2) and (arNames[1].endswith('.'))))
    +                    if bFamilyNameFirst:
    +                        arLines.append(self.vcardFold('N:' + arNames[0] + ';' + arNames[1]))
    +                    else:
    +                        arLines.append(self.vcardFold('N:' + arNames[1] + ';' + arNames[0]))
    +
    +            # SORT-STRING
    +            sSortString = self.getPropertyValue(elmCard, 'sort-string', self.STRING, bAutoEscape=1)
    +            if sSortString:
    +                arLines.append(self.vcardFold('SORT-STRING:' + sSortString))
    +
    +            # NICKNAME
    +            arNickname = self.getPropertyValue(elmCard, 'nickname', self.STRING, 1, 1)
    +            if arNickname:
    +                arLines.append(self.vcardFold('NICKNAME:' + ','.join(arNickname)))
    +
    +            # PHOTO
    +            processSingleURI('photo')
    +
    +            # BDAY
    +            dtBday = self.getPropertyValue(elmCard, 'bday', self.DATE)
    +            if dtBday:
    +                arLines.append(self.vcardFold('BDAY:' + self.toISO8601(dtBday)))
    +
    +            # ADR (address)
    +            arAdr = self.getPropertyValue(elmCard, 'adr', bAllowMultiple=1)
    +            for elmAdr in arAdr:
    +                arType = self.getPropertyValue(elmAdr, 'type', self.STRING, 1, 1)
    +                if not arType:
    +                    arType = ['intl','postal','parcel','work'] # default adr types, see RFC 2426 section 3.2.1
    +                sPostOfficeBox = self.getPropertyValue(elmAdr, 'post-office-box', self.STRING, 0, 1)
    +                sExtendedAddress = self.getPropertyValue(elmAdr, 'extended-address', self.STRING, 0, 1)
    +                sStreetAddress = self.getPropertyValue(elmAdr, 'street-address', self.STRING, 0, 1)
    +                sLocality = self.getPropertyValue(elmAdr, 'locality', self.STRING, 0, 1)
    +                sRegion = self.getPropertyValue(elmAdr, 'region', self.STRING, 0, 1)
    +                sPostalCode = self.getPropertyValue(elmAdr, 'postal-code', self.STRING, 0, 1)
    +                sCountryName = self.getPropertyValue(elmAdr, 'country-name', self.STRING, 0, 1)
    +                arLines.append(self.vcardFold('ADR;TYPE=' + ','.join(arType) + ':' +
    +                                         sPostOfficeBox + ';' +
    +                                         sExtendedAddress + ';' +
    +                                         sStreetAddress + ';' +
    +                                         sLocality + ';' +
    +                                         sRegion + ';' +
    +                                         sPostalCode + ';' +
    +                                         sCountryName))
    +
    +            # LABEL
    +            processTypeValue('label', ['intl','postal','parcel','work'])
    +
    +            # TEL (phone number)
    +            processTypeValue('tel', ['voice'])
    +
    +            # EMAIL
    +            processTypeValue('email', ['internet'], ['internet'])
    +
    +            # MAILER
    +            processSingleString('mailer')
    +
    +            # TZ (timezone)
    +            processSingleString('tz')
    +
    +            # GEO (geographical information)
    +            elmGeo = self.getPropertyValue(elmCard, 'geo')
    +            if elmGeo:
    +                sLatitude = self.getPropertyValue(elmGeo, 'latitude', self.STRING, 0, 1)
    +                sLongitude = self.getPropertyValue(elmGeo, 'longitude', self.STRING, 0, 1)
    +                arLines.append(self.vcardFold('GEO:' + sLatitude + ';' + sLongitude))
    +
    +            # TITLE
    +            processSingleString('title')
    +
    +            # ROLE
    +            processSingleString('role')
    +
    +            # LOGO
    +            processSingleURI('logo')
    +
    +            # ORG (organization)
    +            elmOrg = self.getPropertyValue(elmCard, 'org')
    +            if elmOrg:
    +                sOrganizationName = self.getPropertyValue(elmOrg, 'organization-name', self.STRING, 0, 1)
    +                if not sOrganizationName:
    +                    # implied "organization-name" optimization
    +                    # http://microformats.org/wiki/hcard#Implied_.22organization-name.22_Optimization
    +                    sOrganizationName = self.getPropertyValue(elmCard, 'org', self.STRING, 0, 1)
    +                    if sOrganizationName:
    +                        arLines.append(self.vcardFold('ORG:' + sOrganizationName))
    +                else:
    +                    arOrganizationUnit = self.getPropertyValue(elmOrg, 'organization-unit', self.STRING, 1, 1)
    +                    arLines.append(self.vcardFold('ORG:' + sOrganizationName + ';' + ';'.join(arOrganizationUnit)))
    +
    +            # CATEGORY
    +            arCategory = self.getPropertyValue(elmCard, 'category', self.STRING, 1, 1) + self.getPropertyValue(elmCard, 'categories', self.STRING, 1, 1)
    +            if arCategory:
    +                arLines.append(self.vcardFold('CATEGORIES:' + ','.join(arCategory)))
    +
    +            # NOTE
    +            processSingleString('note')
    +
    +            # REV
    +            processSingleString('rev')
    +
    +            # SOUND
    +            processSingleURI('sound')
    +
    +            # UID
    +            processSingleString('uid')
    +
    +            # URL
    +            processSingleURI('url')
    +
    +            # CLASS
    +            processSingleString('class')
    +
    +            # KEY
    +            processSingleURI('key')
    +
    +            if arLines:
    +                arLines = ['BEGIN:vCard','VERSION:3.0'] + arLines + ['END:vCard']
    +                sVCards += '\n'.join(arLines) + '\n'
    +
    +        return sVCards.strip()
    +
    +    def isProbablyDownloadable(self, elm):
    +        attrsD = elm.attrMap
    +        if not attrsD.has_key('href'): return 0
    +        linktype = attrsD.get('type', '').strip()
    +        if linktype.startswith('audio/') or \
    +           linktype.startswith('video/') or \
    +           (linktype.startswith('application/') and not linktype.endswith('xml')):
    +            return 1
    +        path = urlparse.urlparse(attrsD['href'])[2]
    +        if path.find('.') == -1: return 0
    +        fileext = path.split('.').pop().lower()
    +        return fileext in self.known_binary_extensions
    +
    +    def findTags(self):
    +        all = lambda x: 1
    +        for elm in self.document(all, {'rel': re.compile(r'\btag\b')}):
    +            href = elm.get('href')
    +            if not href: continue
    +            urlscheme, domain, path, params, query, fragment = \
    +                       urlparse.urlparse(_urljoin(self.baseuri, href))
    +            segments = path.split('/')
    +            tag = segments.pop()
    +            if not tag:
    +                tag = segments.pop()
    +            tagscheme = urlparse.urlunparse((urlscheme, domain, '/'.join(segments), '', '', ''))
    +            if not tagscheme.endswith('/'):
    +                tagscheme += '/'
    +            self.tags.append(FeedParserDict({"term": tag, "scheme": tagscheme, "label": elm.string or ''}))
    +
    +    def findEnclosures(self):
    +        all = lambda x: 1
    +        enclosure_match = re.compile(r'\benclosure\b')
    +        for elm in self.document(all, {'href': re.compile(r'.+')}):
    +            if not enclosure_match.search(elm.get('rel', '')) and not self.isProbablyDownloadable(elm): continue
    +            if elm.attrMap not in self.enclosures:
    +                self.enclosures.append(elm.attrMap)
    +                if elm.string and not elm.get('title'):
    +                    self.enclosures[-1]['title'] = elm.string
    +
    +    def findXFN(self):
    +        all = lambda x: 1
    +        for elm in self.document(all, {'rel': re.compile('.+'), 'href': re.compile('.+')}):
    +            rels = elm.get('rel', '').split()
    +            xfn_rels = []
    +            for rel in rels:
    +                if rel in self.known_xfn_relationships:
    +                    xfn_rels.append(rel)
    +            if xfn_rels:
    +                self.xfn.append({"relationships": xfn_rels, "href": elm.get('href', ''), "name": elm.string})
    +
    +def _parseMicroformats(htmlSource, baseURI, encoding):
    +    if not BeautifulSoup: return
    +    if _debug: sys.stderr.write('entering _parseMicroformats\n')
    +    p = _MicroformatsParser(htmlSource, baseURI, encoding)
    +    p.vcard = p.findVCards(p.document)
    +    p.findTags()
    +    p.findEnclosures()
    +    p.findXFN()
    +    return {"tags": p.tags, "enclosures": p.enclosures, "xfn": p.xfn, "vcard": p.vcard}
    +
     class _RelativeURIResolver(_BaseHTMLProcessor):
         relative_uris = [('a', 'href'),
                          ('applet', 'codebase'),
    @@ -1573,65 +2311,226 @@ class _RelativeURIResolver(_BaseHTMLProcessor):
                          ('q', 'cite'),
                          ('script', 'src')]
     
    -    def __init__(self, baseuri, encoding):
    -        _BaseHTMLProcessor.__init__(self, encoding)
    +    def __init__(self, baseuri, encoding, type):
    +        _BaseHTMLProcessor.__init__(self, encoding, type)
             self.baseuri = baseuri
     
         def resolveURI(self, uri):
    -        return _urljoin(self.baseuri, uri)
    -    
    +        return _urljoin(self.baseuri, uri.strip())
    +
         def unknown_starttag(self, tag, attrs):
    +        if _debug:
    +            sys.stderr.write('tag: [%s] with attributes: [%s]\n' % (tag, str(attrs)))
             attrs = self.normalize_attrs(attrs)
             attrs = [(key, ((tag, key) in self.relative_uris) and self.resolveURI(value) or value) for key, value in attrs]
             _BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
    -        
    -def _resolveRelativeURIs(htmlSource, baseURI, encoding):
    -    if _debug: sys.stderr.write('entering _resolveRelativeURIs\n')
    -    p = _RelativeURIResolver(baseURI, encoding)
    +
    +def _resolveRelativeURIs(htmlSource, baseURI, encoding, type):
    +    if _debug:
    +        sys.stderr.write('entering _resolveRelativeURIs\n')
    +
    +    p = _RelativeURIResolver(baseURI, encoding, type)
         p.feed(htmlSource)
         return p.output()
     
     class _HTMLSanitizer(_BaseHTMLProcessor):
    -    acceptable_elements = ['a', 'abbr', 'acronym', 'address', 'area', 'b', 'big',
    -      'blockquote', 'br', 'button', 'caption', 'center', 'cite', 'code', 'col',
    -      'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'fieldset',
    -      'font', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'img', 'input',
    -      'ins', 'kbd', 'label', 'legend', 'li', 'map', 'menu', 'ol', 'optgroup',
    -      'option', 'p', 'pre', 'q', 's', 'samp', 'select', 'small', 'span', 'strike',
    -      'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th',
    -      'thead', 'tr', 'tt', 'u', 'ul', 'var']
    +    acceptable_elements = ['a', 'abbr', 'acronym', 'address', 'area', 'article',
    +      'aside', 'audio', 'b', 'big', 'blockquote', 'br', 'button', 'canvas',
    +      'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'command',
    +      'datagrid', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'dir',
    +      'div', 'dl', 'dt', 'em', 'event-source', 'fieldset', 'figure', 'footer',
    +      'font', 'form', 'header', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i',
    +      'img', 'input', 'ins', 'keygen', 'kbd', 'label', 'legend', 'li', 'm', 'map',
    +      'menu', 'meter', 'multicol', 'nav', 'nextid', 'ol', 'output', 'optgroup',
    +      'option', 'p', 'pre', 'progress', 'q', 's', 'samp', 'section', 'select',
    +      'small', 'sound', 'source', 'spacer', 'span', 'strike', 'strong', 'sub',
    +      'sup', 'table', 'tbody', 'td', 'textarea', 'time', 'tfoot', 'th', 'thead',
    +      'tr', 'tt', 'u', 'ul', 'var', 'video', 'noscript']
     
         acceptable_attributes = ['abbr', 'accept', 'accept-charset', 'accesskey',
    -      'action', 'align', 'alt', 'axis', 'border', 'cellpadding', 'cellspacing',
    -      'char', 'charoff', 'charset', 'checked', 'cite', 'class', 'clear', 'cols',
    -      'colspan', 'color', 'compact', 'coords', 'datetime', 'dir', 'disabled',
    -      'enctype', 'for', 'frame', 'headers', 'height', 'href', 'hreflang', 'hspace',
    -      'id', 'ismap', 'label', 'lang', 'longdesc', 'maxlength', 'media', 'method',
    -      'multiple', 'name', 'nohref', 'noshade', 'nowrap', 'prompt', 'readonly',
    -      'rel', 'rev', 'rows', 'rowspan', 'rules', 'scope', 'selected', 'shape', 'size',
    -      'span', 'src', 'start', 'summary', 'tabindex', 'target', 'title', 'type',
    -      'usemap', 'valign', 'value', 'vspace', 'width']
    +      'action', 'align', 'alt', 'autocomplete', 'autofocus', 'axis',
    +      'background', 'balance', 'bgcolor', 'bgproperties', 'border',
    +      'bordercolor', 'bordercolordark', 'bordercolorlight', 'bottompadding',
    +      'cellpadding', 'cellspacing', 'ch', 'challenge', 'char', 'charoff',
    +      'choff', 'charset', 'checked', 'cite', 'class', 'clear', 'color', 'cols',
    +      'colspan', 'compact', 'contenteditable', 'controls', 'coords', 'data',
    +      'datafld', 'datapagesize', 'datasrc', 'datetime', 'default', 'delay',
    +      'dir', 'disabled', 'draggable', 'dynsrc', 'enctype', 'end', 'face', 'for',
    +      'form', 'frame', 'galleryimg', 'gutter', 'headers', 'height', 'hidefocus',
    +      'hidden', 'high', 'href', 'hreflang', 'hspace', 'icon', 'id', 'inputmode',
    +      'ismap', 'keytype', 'label', 'leftspacing', 'lang', 'list', 'longdesc',
    +      'loop', 'loopcount', 'loopend', 'loopstart', 'low', 'lowsrc', 'max',
    +      'maxlength', 'media', 'method', 'min', 'multiple', 'name', 'nohref',
    +      'noshade', 'nowrap', 'open', 'optimum', 'pattern', 'ping', 'point-size',
    +      'prompt', 'pqg', 'radiogroup', 'readonly', 'rel', 'repeat-max',
    +      'repeat-min', 'replace', 'required', 'rev', 'rightspacing', 'rows',
    +      'rowspan', 'rules', 'scope', 'selected', 'shape', 'size', 'span', 'src',
    +      'start', 'step', 'summary', 'suppress', 'tabindex', 'target', 'template',
    +      'title', 'toppadding', 'type', 'unselectable', 'usemap', 'urn', 'valign',
    +      'value', 'variable', 'volume', 'vspace', 'vrml', 'width', 'wrap',
    +      'xml:lang']
     
    -    unacceptable_elements_with_end_tag = ['script', 'applet']
    +    unacceptable_elements_with_end_tag = ['script', 'applet', 'style']
    +
    +    acceptable_css_properties = ['azimuth', 'background-color',
    +      'border-bottom-color', 'border-collapse', 'border-color',
    +      'border-left-color', 'border-right-color', 'border-top-color', 'clear',
    +      'color', 'cursor', 'direction', 'display', 'elevation', 'float', 'font',
    +      'font-family', 'font-size', 'font-style', 'font-variant', 'font-weight',
    +      'height', 'letter-spacing', 'line-height', 'overflow', 'pause',
    +      'pause-after', 'pause-before', 'pitch', 'pitch-range', 'richness',
    +      'speak', 'speak-header', 'speak-numeral', 'speak-punctuation',
    +      'speech-rate', 'stress', 'text-align', 'text-decoration', 'text-indent',
    +      'unicode-bidi', 'vertical-align', 'voice-family', 'volume',
    +      'white-space', 'width']
    +
    +    # survey of common keywords found in feeds
    +    acceptable_css_keywords = ['auto', 'aqua', 'black', 'block', 'blue',
    +      'bold', 'both', 'bottom', 'brown', 'center', 'collapse', 'dashed',
    +      'dotted', 'fuchsia', 'gray', 'green', '!important', 'italic', 'left',
    +      'lime', 'maroon', 'medium', 'none', 'navy', 'normal', 'nowrap', 'olive',
    +      'pointer', 'purple', 'red', 'right', 'solid', 'silver', 'teal', 'top',
    +      'transparent', 'underline', 'white', 'yellow']
    +
    +    valid_css_values = re.compile('^(#[0-9a-f]+|rgb\(\d+%?,\d*%?,?\d*%?\)?|' +
    +      '\d{0,2}\.?\d{0,2}(cm|em|ex|in|mm|pc|pt|px|%|,|\))?)$')
    +
    +    mathml_elements = ['annotation', 'annotation-xml', 'maction', 'math',
    +      'merror', 'mfenced', 'mfrac', 'mi', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded',
    +      'mphantom', 'mprescripts', 'mroot', 'mrow', 'mspace', 'msqrt', 'mstyle',
    +      'msub', 'msubsup', 'msup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder',
    +      'munderover', 'none', 'semantics']
    +
    +    mathml_attributes = ['actiontype', 'align', 'columnalign', 'columnalign',
    +      'columnalign', 'close', 'columnlines', 'columnspacing', 'columnspan', 'depth',
    +      'display', 'displaystyle', 'encoding', 'equalcolumns', 'equalrows',
    +      'fence', 'fontstyle', 'fontweight', 'frame', 'height', 'linethickness',
    +      'lspace', 'mathbackground', 'mathcolor', 'mathvariant', 'mathvariant',
    +      'maxsize', 'minsize', 'open', 'other', 'rowalign', 'rowalign', 'rowalign',
    +      'rowlines', 'rowspacing', 'rowspan', 'rspace', 'scriptlevel', 'selection',
    +      'separator', 'separators', 'stretchy', 'width', 'width', 'xlink:href',
    +      'xlink:show', 'xlink:type', 'xmlns', 'xmlns:xlink']
    +
    +    # svgtiny - foreignObject + linearGradient + radialGradient + stop
    +    svg_elements = ['a', 'animate', 'animateColor', 'animateMotion',
    +      'animateTransform', 'circle', 'defs', 'desc', 'ellipse', 'foreignObject',
    +      'font-face', 'font-face-name', 'font-face-src', 'g', 'glyph', 'hkern',
    +      'linearGradient', 'line', 'marker', 'metadata', 'missing-glyph', 'mpath',
    +      'path', 'polygon', 'polyline', 'radialGradient', 'rect', 'set', 'stop',
    +      'svg', 'switch', 'text', 'title', 'tspan', 'use']
    +
    +    # svgtiny + class + opacity + offset + xmlns + xmlns:xlink
    +    svg_attributes = ['accent-height', 'accumulate', 'additive', 'alphabetic',
    +       'arabic-form', 'ascent', 'attributeName', 'attributeType',
    +       'baseProfile', 'bbox', 'begin', 'by', 'calcMode', 'cap-height',
    +       'class', 'color', 'color-rendering', 'content', 'cx', 'cy', 'd', 'dx',
    +       'dy', 'descent', 'display', 'dur', 'end', 'fill', 'fill-opacity',
    +       'fill-rule', 'font-family', 'font-size', 'font-stretch', 'font-style',
    +       'font-variant', 'font-weight', 'from', 'fx', 'fy', 'g1', 'g2',
    +       'glyph-name', 'gradientUnits', 'hanging', 'height', 'horiz-adv-x',
    +       'horiz-origin-x', 'id', 'ideographic', 'k', 'keyPoints', 'keySplines',
    +       'keyTimes', 'lang', 'mathematical', 'marker-end', 'marker-mid',
    +       'marker-start', 'markerHeight', 'markerUnits', 'markerWidth', 'max',
    +       'min', 'name', 'offset', 'opacity', 'orient', 'origin',
    +       'overline-position', 'overline-thickness', 'panose-1', 'path',
    +       'pathLength', 'points', 'preserveAspectRatio', 'r', 'refX', 'refY',
    +       'repeatCount', 'repeatDur', 'requiredExtensions', 'requiredFeatures',
    +       'restart', 'rotate', 'rx', 'ry', 'slope', 'stemh', 'stemv',
    +       'stop-color', 'stop-opacity', 'strikethrough-position',
    +       'strikethrough-thickness', 'stroke', 'stroke-dasharray',
    +       'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin',
    +       'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'systemLanguage',
    +       'target', 'text-anchor', 'to', 'transform', 'type', 'u1', 'u2',
    +       'underline-position', 'underline-thickness', 'unicode', 'unicode-range',
    +       'units-per-em', 'values', 'version', 'viewBox', 'visibility', 'width',
    +       'widths', 'x', 'x-height', 'x1', 'x2', 'xlink:actuate', 'xlink:arcrole',
    +       'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type',
    +       'xml:base', 'xml:lang', 'xml:space', 'xmlns', 'xmlns:xlink', 'y', 'y1',
    +       'y2', 'zoomAndPan']
    +
    +    svg_attr_map = None
    +    svg_elem_map = None
    +
    +    acceptable_svg_properties = [ 'fill', 'fill-opacity', 'fill-rule',
    +      'stroke', 'stroke-width', 'stroke-linecap', 'stroke-linejoin',
    +      'stroke-opacity']
     
         def reset(self):
             _BaseHTMLProcessor.reset(self)
             self.unacceptablestack = 0
    -        
    +        self.mathmlOK = 0
    +        self.svgOK = 0
    +
         def unknown_starttag(self, tag, attrs):
    -        if not tag in self.acceptable_elements:
    +        acceptable_attributes = self.acceptable_attributes
    +        keymap = {}
    +        if not tag in self.acceptable_elements or self.svgOK:
                 if tag in self.unacceptable_elements_with_end_tag:
                     self.unacceptablestack += 1
    -            return
    -        attrs = self.normalize_attrs(attrs)
    -        attrs = [(key, value) for key, value in attrs if key in self.acceptable_attributes]
    -        _BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
    -        
    +
    +            # add implicit namespaces to html5 inline svg/mathml
    +            if self.type.endswith('html'):
    +                if not dict(attrs).get('xmlns'):
    +                    if tag=='svg':
    +                        attrs.append( ('xmlns','http://www.w3.org/2000/svg') )
    +                    if tag=='math':
    +                        attrs.append( ('xmlns','http://www.w3.org/1998/Math/MathML') )
    +
    +            # not otherwise acceptable, perhaps it is MathML or SVG?
    +            if tag=='math' and ('xmlns','http://www.w3.org/1998/Math/MathML') in attrs:
    +                self.mathmlOK += 1
    +            if tag=='svg' and ('xmlns','http://www.w3.org/2000/svg') in attrs:
    +                self.svgOK += 1
    +
    +            # chose acceptable attributes based on tag class, else bail
    +            if  self.mathmlOK and tag in self.mathml_elements:
    +                acceptable_attributes = self.mathml_attributes
    +            elif self.svgOK and tag in self.svg_elements:
    +                # for most vocabularies, lowercasing is a good idea.  Many
    +                # svg elements, however, are camel case
    +                if not self.svg_attr_map:
    +                    lower=[attr.lower() for attr in self.svg_attributes]
    +                    mix=[a for a in self.svg_attributes if a not in lower]
    +                    self.svg_attributes = lower
    +                    self.svg_attr_map = dict([(a.lower(),a) for a in mix])
    +
    +                    lower=[attr.lower() for attr in self.svg_elements]
    +                    mix=[a for a in self.svg_elements if a not in lower]
    +                    self.svg_elements = lower
    +                    self.svg_elem_map = dict([(a.lower(),a) for a in mix])
    +                acceptable_attributes = self.svg_attributes
    +                tag = self.svg_elem_map.get(tag,tag)
    +                keymap = self.svg_attr_map
    +            elif not tag in self.acceptable_elements:
    +                return
    +
    +        # declare xlink namespace, if needed
    +        if self.mathmlOK or self.svgOK:
    +            if filter(lambda (n,v): n.startswith('xlink:'),attrs):
    +                if not ('xmlns:xlink','http://www.w3.org/1999/xlink') in attrs:
    +                    attrs.append(('xmlns:xlink','http://www.w3.org/1999/xlink'))
    +
    +        clean_attrs = []
    +        for key, value in self.normalize_attrs(attrs):
    +            if key in acceptable_attributes:
    +                key=keymap.get(key,key)
    +                clean_attrs.append((key,value))
    +            elif key=='style':
    +                clean_value = self.sanitize_style(value)
    +                if clean_value: clean_attrs.append((key,clean_value))
    +        _BaseHTMLProcessor.unknown_starttag(self, tag, clean_attrs)
    +
         def unknown_endtag(self, tag):
             if not tag in self.acceptable_elements:
                 if tag in self.unacceptable_elements_with_end_tag:
                     self.unacceptablestack -= 1
    -            return
    +            if self.mathmlOK and tag in self.mathml_elements:
    +                if tag == 'math' and self.mathmlOK: self.mathmlOK -= 1
    +            elif self.svgOK and tag in self.svg_elements:
    +                tag = self.svg_elem_map.get(tag,tag)
    +                if tag == 'svg' and self.svgOK: self.svgOK -= 1
    +            else:
    +                return
             _BaseHTMLProcessor.unknown_endtag(self, tag)
     
         def handle_pi(self, text):
    @@ -1644,8 +2543,35 @@ class _HTMLSanitizer(_BaseHTMLProcessor):
             if not self.unacceptablestack:
                 _BaseHTMLProcessor.handle_data(self, text)
     
    -def _sanitizeHTML(htmlSource, encoding):
    -    p = _HTMLSanitizer(encoding)
    +    def sanitize_style(self, style):
    +        # disallow urls
    +        style=re.compile('url\s*\(\s*[^\s)]+?\s*\)\s*').sub(' ',style)
    +
    +        # gauntlet
    +        if not re.match("""^([:,;#%.\sa-zA-Z0-9!]|\w-\w|'[\s\w]+'|"[\s\w]+"|\([\d,\s]+\))*$""", style): return ''
    +        # This replaced a regexp that used re.match and was prone to pathological back-tracking.
    +        if re.sub("\s*[-\w]+\s*:\s*[^:;]*;?", '', style).strip(): return ''
    +
    +        clean = []
    +        for prop,value in re.findall("([-\w]+)\s*:\s*([^:;]*)",style):
    +          if not value: continue
    +          if prop.lower() in self.acceptable_css_properties:
    +              clean.append(prop + ': ' + value + ';')
    +          elif prop.split('-')[0].lower() in ['background','border','margin','padding']:
    +              for keyword in value.split():
    +                  if not keyword in self.acceptable_css_keywords and \
    +                      not self.valid_css_values.match(keyword):
    +                      break
    +              else:
    +                  clean.append(prop + ': ' + value + ';')
    +          elif self.svgOK and prop.lower() in self.acceptable_svg_properties:
    +              clean.append(prop + ': ' + value + ';')
    +
    +        return ' '.join(clean)
    +
    +
    +def _sanitizeHTML(htmlSource, encoding, type):
    +    p = _HTMLSanitizer(encoding, type)
         p.feed(htmlSource)
         data = p.output()
         if TIDY_MARKUP:
    @@ -1712,7 +2638,7 @@ class _FeedURLHandler(urllib2.HTTPDigestAuthHandler, urllib2.HTTPRedirectHandler
         http_error_300 = http_error_302
         http_error_303 = http_error_302
         http_error_307 = http_error_302
    -        
    +
         def http_error_401(self, req, fp, code, msg, headers):
             # Check if
             # - server requires digest auth, AND
    @@ -1737,7 +2663,7 @@ class _FeedURLHandler(urllib2.HTTPDigestAuthHandler, urllib2.HTTPRedirectHandler
             except:
                 return self.http_error_default(req, fp, code, msg, headers)
     
    -def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, handlers):
    +def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, handlers, extra_headers):
         """URL, filename, or string --> stream
     
         This function lets you define parsers that take any input source
    @@ -1749,10 +2675,12 @@ def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, h
         If the etag argument is supplied, it will be used as the value of an
         If-None-Match request header.
     
    -    If the modified argument is supplied, it must be a tuple of 9 integers
    -    as returned by gmtime() in the standard Python time module. This MUST
    -    be in GMT (Greenwich Mean Time). The formatted date/time will be used
    -    as the value of an If-Modified-Since request header.
    +    If the modified argument is supplied, it can be a tuple of 9 integers
    +    (as returned by gmtime() in the standard Python time module) or a date
    +    string in any format supported by feedparser. Regardless, it MUST
    +    be in GMT (Greenwich Mean Time). It will be reformatted into an
    +    RFC 1123-compliant date and used as the value of an If-Modified-Since
    +    request header.
     
         If the agent argument is supplied, it will be used as the value of a
         User-Agent request header.
    @@ -1762,6 +2690,9 @@ def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, h
     
         If handlers is supplied, it is a list of handlers used to build a
         urllib2 opener.
    +
    +    if extra_headers is supplied it is a dictionary of HTTP request headers
    +    that will override the values generated by FeedParser.
         """
     
         if hasattr(url_file_stream_or_string, 'read'):
    @@ -1783,41 +2714,25 @@ def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, h
                     if user_passwd:
                         url_file_stream_or_string = '%s://%s%s' % (urltype, realhost, rest)
                         auth = base64.encodestring(user_passwd).strip()
    +
    +        # iri support
    +        try:
    +            if isinstance(url_file_stream_or_string,unicode):
    +                url_file_stream_or_string = url_file_stream_or_string.encode('idna')
    +            else:
    +                url_file_stream_or_string = url_file_stream_or_string.decode('utf-8').encode('idna')
    +        except:
    +            pass
    +
             # try to open with urllib2 (to use optional headers)
    -        request = urllib2.Request(url_file_stream_or_string)
    -        request.add_header('User-Agent', agent)
    -        if etag:
    -            request.add_header('If-None-Match', etag)
    -        if modified:
    -            # format into an RFC 1123-compliant timestamp. We can't use
    -            # time.strftime() since the %a and %b directives can be affected
    -            # by the current locale, but RFC 2616 states that dates must be
    -            # in English.
    -            short_weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    -            months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    -            request.add_header('If-Modified-Since', '%s, %02d %s %04d %02d:%02d:%02d GMT' % (short_weekdays[modified[6]], modified[2], months[modified[1] - 1], modified[0], modified[3], modified[4], modified[5]))
    -        if referrer:
    -            request.add_header('Referer', referrer)
    -        if gzip and zlib:
    -            request.add_header('Accept-encoding', 'gzip, deflate')
    -        elif gzip:
    -            request.add_header('Accept-encoding', 'gzip')
    -        elif zlib:
    -            request.add_header('Accept-encoding', 'deflate')
    -        else:
    -            request.add_header('Accept-encoding', '')
    -        if auth:
    -            request.add_header('Authorization', 'Basic %s' % auth)
    -        if ACCEPT_HEADER:
    -            request.add_header('Accept', ACCEPT_HEADER)
    -        request.add_header('A-IM', 'feed') # RFC 3229 support
    +        request = _build_urllib2_request(url_file_stream_or_string, agent, etag, modified, referrer, auth, extra_headers)
             opener = apply(urllib2.build_opener, tuple([_FeedURLHandler()] + handlers))
             opener.addheaders = [] # RMK - must clear so we only send our custom User-Agent
             try:
                 return opener.open(request)
             finally:
                 opener.close() # JohnD
    -    
    +
         # try to open with native open function (if url_file_stream_or_string is a filename)
         try:
             return open(url_file_stream_or_string)
    @@ -1827,11 +2742,47 @@ def _open_resource(url_file_stream_or_string, etag, modified, agent, referrer, h
         # treat url_file_stream_or_string as string
         return _StringIO(str(url_file_stream_or_string))
     
    +def _build_urllib2_request(url, agent, etag, modified, referrer, auth, extra_headers):
    +    request = urllib2.Request(url)
    +    request.add_header('User-Agent', agent)
    +    if etag:
    +        request.add_header('If-None-Match', etag)
    +    if type(modified) == type(''):
    +        modified = _parse_date(modified)
    +    if modified:
    +        # format into an RFC 1123-compliant timestamp. We can't use
    +        # time.strftime() since the %a and %b directives can be affected
    +        # by the current locale, but RFC 2616 states that dates must be
    +        # in English.
    +        short_weekdays = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    +        months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    +        request.add_header('If-Modified-Since', '%s, %02d %s %04d %02d:%02d:%02d GMT' % (short_weekdays[modified[6]], modified[2], months[modified[1] - 1], modified[0], modified[3], modified[4], modified[5]))
    +    if referrer:
    +        request.add_header('Referer', referrer)
    +    if gzip and zlib:
    +        request.add_header('Accept-encoding', 'gzip, deflate')
    +    elif gzip:
    +        request.add_header('Accept-encoding', 'gzip')
    +    elif zlib:
    +        request.add_header('Accept-encoding', 'deflate')
    +    else:
    +        request.add_header('Accept-encoding', '')
    +    if auth:
    +        request.add_header('Authorization', 'Basic %s' % auth)
    +    if ACCEPT_HEADER:
    +        request.add_header('Accept', ACCEPT_HEADER)
    +    # use this for whatever -- cookies, special headers, etc
    +    # [('Cookie','Something'),('x-special-header','Another Value')]
    +    for header_name, header_value in extra_headers.items():
    +        request.add_header(header_name, header_value)
    +    request.add_header('A-IM', 'feed') # RFC 3229 support
    +    return request
    +
     _date_handlers = []
     def registerDateHandler(func):
         '''Register a date handler function (takes string, returns 9-tuple date in GMT)'''
         _date_handlers.insert(0, func)
    -    
    +
     # ISO-8601 date parsing routines written by Fazal Majid.
     # The ISO 8601 standard is very convoluted and irregular - a full ISO 8601
     # parser is beyond the scope of feedparser and would be a worthwhile addition
    @@ -1841,8 +2792,8 @@ def registerDateHandler(func):
     # 0301-04-01), so we use templates instead.
     # Please note the order in templates is significant because we need a
     # greedy match.
    -_iso8601_tmpl = ['YYYY-?MM-?DD', 'YYYY-MM', 'YYYY-?OOO',
    -                'YY-?MM-?DD', 'YY-?OOO', 'YYYY', 
    +_iso8601_tmpl = ['YYYY-?MM-?DD', 'YYYY-0MM?-?DD', 'YYYY-MM', 'YYYY-?OOO',
    +                'YY-?MM-?DD', 'YY-?OOO', 'YYYY',
                     '-YY-?MM', '-OOO', '-YY',
                     '--MM-?DD', '--MM',
                     '---DD',
    @@ -1857,6 +2808,7 @@ _iso8601_re = [
         'CC', r'(?P\d\d$)')
         + r'(T?(?P\d{2}):(?P\d{2})'
         + r'(:(?P\d{2}))?'
    +    + r'(\.(?P\d+))?'
         + r'(?P[+-](?P\d{2})(:(?P\d{2}))?|Z)?)?'
         for tmpl in _iso8601_tmpl]
     del tmpl
    @@ -1915,14 +2867,10 @@ def _parse_date_iso8601(dateString):
                 params[field] = 0
         hour = int(params.get('hour', 0))
         minute = int(params.get('minute', 0))
    -    second = int(params.get('second', 0))
    +    second = int(float(params.get('second', 0)))
         # weekday is normalized by mktime(), we can ignore it
         weekday = 0
    -    # daylight savings is complex, but not needed for feedparser's purposes
    -    # as time zones, if specified, include mention of whether it is active
    -    # (e.g. PST vs. PDT, CET). Using -1 is implementation-dependent and
    -    # and most implementations have DST bugs
    -    daylight_savings_flag = 0
    +    daylight_savings_flag = -1
         tm = [year, month, day, hour, minute, second, weekday,
               ordinal, daylight_savings_flag]
         # ISO 8601 time zone adjustments
    @@ -1941,7 +2889,7 @@ def _parse_date_iso8601(dateString):
         # Many implementations have bugs, but we'll pretend they don't.
         return time.localtime(time.mktime(tm))
     registerDateHandler(_parse_date_iso8601)
    -    
    +
     # 8-bit date handling routines written by ytrewq1.
     _korean_year  = u'\ub144' # b3e2 in euc-kr
     _korean_month = u'\uc6d4' # bff9 in euc-kr
    @@ -2032,7 +2980,7 @@ _greek_wdays = \
        u'\u03a4\u03b5\u03c4': u'Wed', # d4e5f4 in iso-8859-7
        u'\u03a0\u03b5\u03bc': u'Thu', # d0e5ec in iso-8859-7
        u'\u03a0\u03b1\u03c1': u'Fri', # d0e1f1 in iso-8859-7
    -   u'\u03a3\u03b1\u03b2': u'Sat', # d3e1e2 in iso-8859-7   
    +   u'\u03a3\u03b1\u03b2': u'Sat', # d3e1e2 in iso-8859-7
       }
     
     _greek_date_format_re = \
    @@ -2218,7 +3166,22 @@ def _parse_date_rfc822(dateString):
     # 'ET' is equivalent to 'EST', etc.
     _additional_timezones = {'AT': -400, 'ET': -500, 'CT': -600, 'MT': -700, 'PT': -800}
     rfc822._timezones.update(_additional_timezones)
    -registerDateHandler(_parse_date_rfc822)    
    +registerDateHandler(_parse_date_rfc822)
    +
    +def _parse_date_perforce(aDateString):
    +	"""parse a date in yyyy/mm/dd hh:mm:ss TTT format"""
    +	# Fri, 2006/09/15 08:19:53 EDT
    +	_my_date_pattern = re.compile( \
    +		r'(\w{,3}), (\d{,4})/(\d{,2})/(\d{2}) (\d{,2}):(\d{2}):(\d{2}) (\w{,3})')
    +
    +	dow, year, month, day, hour, minute, second, tz = \
    +		_my_date_pattern.search(aDateString).groups()
    +	months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    +	dateString = "%s, %s %s %s %s:%s:%s %s" % (dow, day, months[int(month) - 1], year, hour, minute, second, tz)
    +	tm = rfc822.parsedate_tz(dateString)
    +	if tm:
    +		return time.gmtime(rfc822.mktime_tz(tm))
    +registerDateHandler(_parse_date_perforce)
     
     def _parse_date(dateString):
         '''Parses a variety of date formats into a 9-tuple in GMT'''
    @@ -2241,7 +3204,7 @@ def _getCharacterEncoding(http_headers, xml_data):
     
         http_headers is a dictionary
         xml_data is a raw string (not Unicode)
    -    
    +
         This is so much trickier than it sounds, it's not even funny.
         According to RFC 3023 ('XML Media Types'), if the HTTP Content-Type
         is application/xml, application/*+xml,
    @@ -2260,12 +3223,12 @@ def _getCharacterEncoding(http_headers, xml_data):
         served with a Content-Type of text/* and no charset parameter
         must be treated as us-ascii.  (We now do this.)  And also that it
         must always be flagged as non-well-formed.  (We now do this too.)
    -    
    +
         If Content-Type is unspecified (input was local file or non-HTTP source)
         or unrecognized (server just got it totally wrong), then go by the
         encoding given in the XML prefix of the document and default to
         'iso-8859-1' as per the HTTP specification (RFC 2616).
    -    
    +
         Then, assuming we didn't find a character encoding in the HTTP headers
         (and the HTTP Content-type allowed us to look in the body), we need
         to sniff the first few bytes of the XML data and try to determine
    @@ -2370,8 +3333,12 @@ def _getCharacterEncoding(http_headers, xml_data):
             true_encoding = xml_encoding or 'iso-8859-1'
         else:
             true_encoding = xml_encoding or 'utf-8'
    +    # some feeds claim to be gb2312 but are actually gb18030.
    +    # apparently MSIE and Firefox both do the following switch:
    +    if true_encoding.lower() == 'gb2312':
    +        true_encoding = 'gb18030'
         return true_encoding, http_encoding, xml_encoding, sniffed_xml_encoding, acceptable_content_type
    -    
    +
     def _toUTF8(data, encoding):
         '''Changes an XML data stream on the fly to specify a new encoding
     
    @@ -2431,20 +3398,38 @@ def _stripDoctype(data):
         rss_version may be 'rss091n' or None
         stripped_data is the same XML document, minus the DOCTYPE
         '''
    -    entity_pattern = re.compile(r']*?)>', re.MULTILINE)
    -    data = entity_pattern.sub('', data)
    -    doctype_pattern = re.compile(r']*?)>', re.MULTILINE)
    -    doctype_results = doctype_pattern.findall(data)
    +    start = re.search('<\w',data)
    +    start = start and start.start() or -1
    +    head,data = data[:start+1], data[start+1:]
    +
    +    entity_pattern = re.compile(r'^\s*]*?)>', re.MULTILINE)
    +    entity_results=entity_pattern.findall(head)
    +    head = entity_pattern.sub('', head)
    +    doctype_pattern = re.compile(r'^\s*]*?)>', re.MULTILINE)
    +    doctype_results = doctype_pattern.findall(head)
         doctype = doctype_results and doctype_results[0] or ''
         if doctype.lower().count('netscape'):
             version = 'rss091n'
         else:
             version = None
    -    data = doctype_pattern.sub('', data)
    -    return version, data
    -    
    -def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, referrer=None, handlers=[]):
    -    '''Parse a feed from a URL, file, stream, or string'''
    +
    +    # only allow in 'safe' inline entity definitions
    +    replacement=''
    +    if len(doctype_results)==1 and entity_results:
    +       safe_pattern=re.compile('\s+(\w+)\s+"(&#\w+;|[^&"]*)"')
    +       safe_entities=filter(lambda e: safe_pattern.match(e),entity_results)
    +       if safe_entities:
    +           replacement='\n]>' % '>\n  ; changed
    -#  project name
    -#2.5 - 7/25/2003 - MAP - changed to Python license (all contributors agree);
    -#  removed unnecessary urllib code -- urllib2 should always be available anyway;
    -#  return actual url, status, and full HTTP headers (as result['url'],
    -#  result['status'], and result['headers']) if parsing a remote feed over HTTP --
    -#  this should pass all the HTTP tests at ;
    -#  added the latest namespace-of-the-week for RSS 2.0
    -#2.5.1 - 7/26/2003 - RMK - clear opener.addheaders so we only send our custom
    -#  User-Agent (otherwise urllib2 sends two, which confuses some servers)
    -#2.5.2 - 7/28/2003 - MAP - entity-decode inline xml properly; added support for
    -#  inline  and  as used in some RSS 2.0 feeds
    -#2.5.3 - 8/6/2003 - TvdV - patch to track whether we're inside an image or
    -#  textInput, and also to return the character encoding (if specified)
    -#2.6 - 1/1/2004 - MAP - dc:author support (MarekK); fixed bug tracking
    -#  nested divs within content (JohnD); fixed missing sys import (JohanS);
    -#  fixed regular expression to capture XML character encoding (Andrei);
    -#  added support for Atom 0.3-style links; fixed bug with textInput tracking;
    -#  added support for cloud (MartijnP); added support for multiple
    -#  category/dc:subject (MartijnP); normalize content model: 'description' gets
    -#  description (which can come from description, summary, or full content if no
    -#  description), 'content' gets dict of base/language/type/value (which can come
    -#  from content:encoded, xhtml:body, content, or fullitem);
    -#  fixed bug matching arbitrary Userland namespaces; added xml:base and xml:lang
    -#  tracking; fixed bug tracking unknown tags; fixed bug tracking content when
    -#   element is not in default namespace (like Pocketsoap feed);
    -#  resolve relative URLs in link, guid, docs, url, comments, wfw:comment,
    -#  wfw:commentRSS; resolve relative URLs within embedded HTML markup in
    -#  description, xhtml:body, content, content:encoded, title, subtitle,
    -#  summary, info, tagline, and copyright; added support for pingback and
    -#  trackback namespaces
    -#2.7 - 1/5/2004 - MAP - really added support for trackback and pingback
    -#  namespaces, as opposed to 2.6 when I said I did but didn't really;
    -#  sanitize HTML markup within some elements; added mxTidy support (if
    -#  installed) to tidy HTML markup within some elements; fixed indentation
    -#  bug in _parse_date (FazalM); use socket.setdefaulttimeout if available
    -#  (FazalM); universal date parsing and normalization (FazalM): 'created', modified',
    -#  'issued' are parsed into 9-tuple date format and stored in 'created_parsed',
    -#  'modified_parsed', and 'issued_parsed'; 'date' is duplicated in 'modified'
    -#  and vice-versa; 'date_parsed' is duplicated in 'modified_parsed' and vice-versa
    -#2.7.1 - 1/9/2004 - MAP - fixed bug handling " and '.  fixed memory
    -#  leak not closing url opener (JohnD); added dc:publisher support (MarekK);
    -#  added admin:errorReportsTo support (MarekK); Python 2.1 dict support (MarekK)
    -#2.7.4 - 1/14/2004 - MAP - added workaround for improperly formed 
    tags in -# encoded HTML (skadz); fixed unicode handling in normalize_attrs (ChrisL); -# fixed relative URI processing for guid (skadz); added ICBM support; added -# base64 support -#2.7.5 - 1/15/2004 - MAP - added workaround for malformed DOCTYPE (seen on many -# blogspot.com sites); added _debug variable -#2.7.6 - 1/16/2004 - MAP - fixed bug with StringIO importing -#3.0b3 - 1/23/2004 - MAP - parse entire feed with real XML parser (if available); -# added several new supported namespaces; fixed bug tracking naked markup in -# description; added support for enclosure; added support for source; re-added -# support for cloud which got dropped somehow; added support for expirationDate -#3.0b4 - 1/26/2004 - MAP - fixed xml:lang inheritance; fixed multiple bugs tracking -# xml:base URI, one for documents that don't define one explicitly and one for -# documents that define an outer and an inner xml:base that goes out of scope -# before the end of the document -#3.0b5 - 1/26/2004 - MAP - fixed bug parsing multiple links at feed level -#3.0b6 - 1/27/2004 - MAP - added feed type and version detection, result['version'] -# will be one of SUPPORTED_VERSIONS.keys() or empty string if unrecognized; -# added support for creativeCommons:license and cc:license; added support for -# full Atom content model in title, tagline, info, copyright, summary; fixed bug -# with gzip encoding (not always telling server we support it when we do) -#3.0b7 - 1/28/2004 - MAP - support Atom-style author element in author_detail -# (dictionary of 'name', 'url', 'email'); map author to author_detail if author -# contains name + email address -#3.0b8 - 1/28/2004 - MAP - added support for contributor -#3.0b9 - 1/29/2004 - MAP - fixed check for presence of dict function; added -# support for summary -#3.0b10 - 1/31/2004 - MAP - incorporated ISO-8601 date parsing routines from -# xml.util.iso8601 -#3.0b11 - 2/2/2004 - MAP - added 'rights' to list of elements that can contain -# dangerous markup; fiddled with decodeEntities (not right); liberalized -# date parsing even further -#3.0b12 - 2/6/2004 - MAP - fiddled with decodeEntities (still not right); -# added support to Atom 0.2 subtitle; added support for Atom content model -# in copyright; better sanitizing of dangerous HTML elements with end tags -# (script, frameset) -#3.0b13 - 2/8/2004 - MAP - better handling of empty HTML tags (br, hr, img, -# etc.) in embedded markup, in either HTML or XHTML form (
    ,
    ,
    ) -#3.0b14 - 2/8/2004 - MAP - fixed CDATA handling in non-wellformed feeds under -# Python 2.1 -#3.0b15 - 2/11/2004 - MAP - fixed bug resolving relative links in wfw:commentRSS; -# fixed bug capturing author and contributor URL; fixed bug resolving relative -# links in author and contributor URL; fixed bug resolvin relative links in -# generator URL; added support for recognizing RSS 1.0; passed Simon Fell's -# namespace tests, and included them permanently in the test suite with his -# permission; fixed namespace handling under Python 2.1 -#3.0b16 - 2/12/2004 - MAP - fixed support for RSS 0.90 (broken in b15) -#3.0b17 - 2/13/2004 - MAP - determine character encoding as per RFC 3023 -#3.0b18 - 2/17/2004 - MAP - always map description to summary_detail (Andrei); -# use libxml2 (if available) -#3.0b19 - 3/15/2004 - MAP - fixed bug exploding author information when author -# name was in parentheses; removed ultra-problematic mxTidy support; patch to -# workaround crash in PyXML/expat when encountering invalid entities -# (MarkMoraes); support for textinput/textInput -#3.0b20 - 4/7/2004 - MAP - added CDF support -#3.0b21 - 4/14/2004 - MAP - added Hot RSS support -#3.0b22 - 4/19/2004 - MAP - changed 'channel' to 'feed', 'item' to 'entries' in -# results dict; changed results dict to allow getting values with results.key -# as well as results[key]; work around embedded illformed HTML with half -# a DOCTYPE; work around malformed Content-Type header; if character encoding -# is wrong, try several common ones before falling back to regexes (if this -# works, bozo_exception is set to CharacterEncodingOverride); fixed character -# encoding issues in BaseHTMLProcessor by tracking encoding and converting -# from Unicode to raw strings before feeding data to sgmllib.SGMLParser; -# convert each value in results to Unicode (if possible), even if using -# regex-based parsing -#3.0b23 - 4/21/2004 - MAP - fixed UnicodeDecodeError for feeds that contain -# high-bit characters in attributes in embedded HTML in description (thanks -# Thijs van de Vossen); moved guid, date, and date_parsed to mapped keys in -# FeedParserDict; tweaked FeedParserDict.has_key to return True if asking -# about a mapped key -#3.0fc1 - 4/23/2004 - MAP - made results.entries[0].links[0] and -# results.entries[0].enclosures[0] into FeedParserDict; fixed typo that could -# cause the same encoding to be tried twice (even if it failed the first time); -# fixed DOCTYPE stripping when DOCTYPE contained entity declarations; -# better textinput and image tracking in illformed RSS 1.0 feeds -#3.0fc2 - 5/10/2004 - MAP - added and passed Sam's amp tests; added and passed -# my blink tag tests -#3.0fc3 - 6/18/2004 - MAP - fixed bug in _changeEncodingDeclaration that -# failed to parse utf-16 encoded feeds; made source into a FeedParserDict; -# duplicate admin:generatorAgent/@rdf:resource in generator_detail.url; -# added support for image; refactored parse() fallback logic to try other -# encodings if SAX parsing fails (previously it would only try other encodings -# if re-encoding failed); remove unichr madness in normalize_attrs now that -# we're properly tracking encoding in and out of BaseHTMLProcessor; set -# feed.language from root-level xml:lang; set entry.id from rdf:about; -# send Accept header -#3.0 - 6/21/2004 - MAP - don't try iso-8859-1 (can't distinguish between -# iso-8859-1 and windows-1252 anyway, and most incorrectly marked feeds are -# windows-1252); fixed regression that could cause the same encoding to be -# tried twice (even if it failed the first time) -#3.0.1 - 6/22/2004 - MAP - default to us-ascii for all text/* content types; -# recover from malformed content-type header parameter with no equals sign -# ('text/xml; charset:iso-8859-1') -#3.1 - 6/28/2004 - MAP - added and passed tests for converting HTML entities -# to Unicode equivalents in illformed feeds (aaronsw); added and -# passed tests for converting character entities to Unicode equivalents -# in illformed feeds (aaronsw); test for valid parsers when setting -# XML_AVAILABLE; make version and encoding available when server returns -# a 304; add handlers parameter to pass arbitrary urllib2 handlers (like -# digest auth or proxy support); add code to parse username/password -# out of url and send as basic authentication; expose downloading-related -# exceptions in bozo_exception (aaronsw); added __contains__ method to -# FeedParserDict (aaronsw); added publisher_detail (aaronsw) -#3.2 - 7/3/2004 - MAP - use cjkcodecs and iconv_codec if available; always -# convert feed to UTF-8 before passing to XML parser; completely revamped -# logic for determining character encoding and attempting XML parsing -# (much faster); increased default timeout to 20 seconds; test for presence -# of Location header on redirects; added tests for many alternate character -# encodings; support various EBCDIC encodings; support UTF-16BE and -# UTF16-LE with or without a BOM; support UTF-8 with a BOM; support -# UTF-32BE and UTF-32LE with or without a BOM; fixed crashing bug if no -# XML parsers are available; added support for 'Content-encoding: deflate'; -# send blank 'Accept-encoding: ' header if neither gzip nor zlib modules -# are available -#3.3 - 7/15/2004 - MAP - optimize EBCDIC to ASCII conversion; fix obscure -# problem tracking xml:base and xml:lang if element declares it, child -# doesn't, first grandchild redeclares it, and second grandchild doesn't; -# refactored date parsing; defined public registerDateHandler so callers -# can add support for additional date formats at runtime; added support -# for OnBlog, Nate, MSSQL, Greek, and Hungarian dates (ytrewq1); added -# zopeCompatibilityHack() which turns FeedParserDict into a regular -# dictionary, required for Zope compatibility, and also makes command- -# line debugging easier because pprint module formats real dictionaries -# better than dictionary-like objects; added NonXMLContentType exception, -# which is stored in bozo_exception when a feed is served with a non-XML -# media type such as 'text/plain'; respect Content-Language as default -# language if not xml:lang is present; cloud dict is now FeedParserDict; -# generator dict is now FeedParserDict; better tracking of xml:lang, -# including support for xml:lang='' to unset the current language; -# recognize RSS 1.0 feeds even when RSS 1.0 namespace is not the default -# namespace; don't overwrite final status on redirects (scenarios: -# redirecting to a URL that returns 304, redirecting to a URL that -# redirects to another URL with a different type of redirect); add -# support for HTTP 303 redirects -#4.0 - MAP - support for relative URIs in xml:base attribute; fixed -# encoding issue with mxTidy (phopkins); preliminary support for RFC 3229; -# support for Atom 1.0; support for iTunes extensions; new 'tags' for -# categories/keywords/etc. as array of dict -# {'term': term, 'scheme': scheme, 'label': label} to match Atom 1.0 -# terminology; parse RFC 822-style dates with no time; lots of other -# bug fixes -#4.1 - MAP - removed socket timeout; added support for chardet library +class TextSerializer(Serializer): + def write(self, stream=sys.stdout): + self._writer(stream, self.results, '') + + def _writer(self, stream, node, prefix): + if not node: return + if hasattr(node, 'keys'): + keys = node.keys() + keys.sort() + for k in keys: + if k in ('description', 'link'): continue + if node.has_key(k + '_detail'): continue + if node.has_key(k + '_parsed'): continue + self._writer(stream, node[k], prefix + k + '.') + elif type(node) == types.ListType: + index = 0 + for n in node: + self._writer(stream, n, prefix[:-1] + '[' + str(index) + '].') + index += 1 + else: + try: + s = str(node).encode('utf-8') + s = s.replace('\\', '\\\\') + s = s.replace('\r', '') + s = s.replace('\n', r'\n') + stream.write(prefix[:-1]) + stream.write('=') + stream.write(s) + stream.write('\n') + except: + pass + +class PprintSerializer(Serializer): + def write(self, stream=sys.stdout): + if self.results.has_key('href'): + stream.write(self.results['href'] + '\n\n') + from pprint import pprint + pprint(self.results, stream) + stream.write('\n') + +if __name__ == '__main__': + try: + from optparse import OptionParser + except: + OptionParser = None + + if OptionParser: + optionParser = OptionParser(version=__version__, usage="%prog [options] url_or_filename_or_-") + optionParser.set_defaults(format="pprint") + optionParser.add_option("-A", "--user-agent", dest="agent", metavar="AGENT", help="User-Agent for HTTP URLs") + optionParser.add_option("-e", "--referer", "--referrer", dest="referrer", metavar="URL", help="Referrer for HTTP URLs") + optionParser.add_option("-t", "--etag", dest="etag", metavar="TAG", help="ETag/If-None-Match for HTTP URLs") + optionParser.add_option("-m", "--last-modified", dest="modified", metavar="DATE", help="Last-modified/If-Modified-Since for HTTP URLs (any supported date format)") + optionParser.add_option("-f", "--format", dest="format", metavar="FORMAT", help="output results in FORMAT (text, pprint)") + optionParser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="write debugging information to stderr") + (options, urls) = optionParser.parse_args() + if options.verbose: + _debug = 1 + if not urls: + optionParser.print_help() + sys.exit(0) + else: + if not sys.argv[1:]: + print __doc__ + sys.exit(0) + class _Options: + etag = modified = agent = referrer = None + format = 'pprint' + options = _Options() + urls = sys.argv[1:] + + zopeCompatibilityHack() + + serializer = globals().get(options.format.capitalize() + 'Serializer', Serializer) + for url in urls: + results = parse(url, etag=options.etag, modified=options.modified, agent=options.agent, referrer=options.referrer) + serializer(results).write(sys.stdout) From 31e8fa91b3e7767d2f17d2b8bd87e6dce3b0756c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 08:42:23 -0700 Subject: [PATCH 42/80] Conversion pipeline: When rasterizing SVG images workaround incorrect handinlg of percentage height specifications in QSvgRenderer. Fixes #7598 (Image size incorrect for conversion from EPUB to MOBI) --- .../ebooks/oeb/transforms/rasterize.py | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/rasterize.py b/src/calibre/ebooks/oeb/transforms/rasterize.py index b09037498a..a485ca41e2 100644 --- a/src/calibre/ebooks/oeb/transforms/rasterize.py +++ b/src/calibre/ebooks/oeb/transforms/rasterize.py @@ -55,18 +55,31 @@ class SVGRasterizer(object): self.rasterize_cover() def rasterize_svg(self, elem, width=0, height=0, format='PNG'): + view_box = elem.get('viewBox', elem.get('viewbox', None)) + sizes = None + logger = self.oeb.logger + + if view_box is not None: + box = [float(x) for x in view_box.split()] + sizes = [box[2]-box[0], box[3] - box[1]] + for image in elem.xpath('descendant::*[local-name()="image" and ' + '@height and contains(@height, "%")]'): + logger.info('Found SVG image height in %, trying to convert...') + try: + h = float(image.get('height').replace('%', ''))/100. + image.set('height', str(h*sizes[1])) + except: + logger.exception('Failed to convert percentage height:', + image.get('height')) + data = QByteArray(xml2str(elem, with_tail=False)) svg = QSvgRenderer(data) size = svg.defaultSize() - view_box = elem.get('viewBox', elem.get('viewbox', None)) - if size.width() == 100 and size.height() == 100 \ - and view_box is not None: - box = [float(x) for x in view_box.split()] - size.setWidth(box[2] - box[0]) - size.setHeight(box[3] - box[1]) + if size.width() == 100 and size.height() == 100 and sizes: + size.setWidth(sizes[0]) + size.setHeight(sizes[1]) if width or height: size.scale(width, height, Qt.KeepAspectRatio) - logger = self.oeb.logger logger.info('Rasterizing %r to %dx%d' % (elem, size.width(), size.height())) image = QImage(size, QImage.Format_ARGB32_Premultiplied) From 730f510e2441257a1ea61822c76b2dd779fcb3c8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 08:57:03 -0700 Subject: [PATCH 43/80] RTF Output: Handle non-breakinf spaces correctly. Fixes #7668 (HTML to RTF (Non Breaking Space) v0.7.29) --- src/calibre/ebooks/rtf/rtfml.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/rtf/rtfml.py b/src/calibre/ebooks/rtf/rtfml.py index 53ba7ecbd8..5aa4979b04 100644 --- a/src/calibre/ebooks/rtf/rtfml.py +++ b/src/calibre/ebooks/rtf/rtfml.py @@ -81,7 +81,9 @@ def txt2rtf(text): buf = cStringIO.StringIO() for x in text: val = ord(x) - if val <= 127: + if val == 160: + buf.write('\\~') + elif val <= 127: buf.write(x) else: repl = ascii_text(x) From c996a001a79fb81a96afc95841979faf6894e425 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 09:14:55 -0700 Subject: [PATCH 44/80] Fix #7590 (server crash when use chinese create a user category) --- src/calibre/library/server/browse.py | 2 +- src/calibre/library/server/utils.py | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index e29554c2a6..87c55275d7 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -7,7 +7,6 @@ __docformat__ = 'restructuredtext en' import operator, os, json, re from binascii import hexlify, unhexlify -from urllib import quote, unquote import cherrypy @@ -21,6 +20,7 @@ from calibre.utils.magick import Image from calibre.library.comments import comments_to_html from calibre.library.server import custom_fields_to_display from calibre.library.field_metadata import category_icon_map +from calibre.library.server.utils import quote, unquote def render_book_list(ids, prefix, suffix=''): # {{{ pages = [] diff --git a/src/calibre/library/server/utils.py b/src/calibre/library/server/utils.py index 35c92f7ae2..1407487db3 100644 --- a/src/calibre/library/server/utils.py +++ b/src/calibre/library/server/utils.py @@ -6,10 +6,11 @@ __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' import time, sys +from urllib import quote as quote_, unquote as unquote_ import cherrypy -from calibre import strftime as _strftime, prints +from calibre import strftime as _strftime, prints, isbytestring from calibre.utils.date import now as nowf from calibre.utils.config import tweaks @@ -81,3 +82,14 @@ def format_tag_string(tags, sep, ignore_max=False, no_tag_count=False): return u'%s:&:%s'%(tweaks['max_content_server_tags_shown'], ', '.join(tlist)) if tlist else '' +def quote(s): + if isinstance(s, unicode): + s = s.encode('utf-8') + return quote_(s) + +def unquote(s): + ans = unquote_(s) + if isbytestring(ans): + ans = ans.decode('utf-8') + return ans + From 8fc411ade65577eef65d21fd52d38251c63a7e86 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 09:46:07 -0700 Subject: [PATCH 45/80] Implement #7400 (Mass importing by ISBN) --- src/calibre/gui2/actions/add.py | 18 ++++++----- src/calibre/gui2/dialogs/add_from_isbn.py | 37 +++++++++++++++++++---- src/calibre/gui2/dialogs/add_from_isbn.ui | 5 ++- 3 files changed, 46 insertions(+), 14 deletions(-) diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py index d2e7016e6f..78eeec4b21 100644 --- a/src/calibre/gui2/actions/add.py +++ b/src/calibre/gui2/actions/add.py @@ -88,15 +88,19 @@ class AddAction(InterfaceAction): for x in xrange(num): self.gui.library_view.model().db.import_book(MetaInformation(None), []) self.gui.library_view.model().books_added(num) - - def add_isbns(self, isbns): + + def add_isbns(self, books): from calibre.ebooks.metadata import MetaInformation ids = set([]) - for x in isbns: + for x in books: mi = MetaInformation(None) - mi.isbn = x - ids.add(self.gui.library_view.model().db.import_book(mi, [])) - self.gui.library_view.model().books_added(len(isbns)) + mi.isbn = x['isbn'] + if x['path'] is not None: + ids.add(self.gui.library_view.model().db.import_book(mi, [x['path']])) + os.remove(x['path']) + else: + ids.add(self.gui.library_view.model().db.import_book(mi, [])) + self.gui.library_view.model().books_added(len(books)) self.gui.iactions['Edit Metadata'].do_download_metadata(ids) @@ -150,7 +154,7 @@ class AddAction(InterfaceAction): from calibre.gui2.dialogs.add_from_isbn import AddFromISBN d = AddFromISBN(self.gui) if d.exec_() == d.Accepted: - self.add_isbns(d.isbns) + self.add_isbns(d.books) def add_books(self, *args): ''' diff --git a/src/calibre/gui2/dialogs/add_from_isbn.py b/src/calibre/gui2/dialogs/add_from_isbn.py index a7bd578d61..632532aebf 100644 --- a/src/calibre/gui2/dialogs/add_from_isbn.py +++ b/src/calibre/gui2/dialogs/add_from_isbn.py @@ -5,10 +5,14 @@ __license__ = 'GPL v3' __copyright__ = '2010, Kovid Goyal ' __docformat__ = 'restructuredtext en' +import os + from PyQt4.Qt import QDialog, QApplication from calibre.gui2.dialogs.add_from_isbn_ui import Ui_Dialog from calibre.ebooks.metadata import check_isbn +from calibre.constants import iswindows +from calibre.ptempfile import PersistentTemporaryFile class AddFromISBN(QDialog, Ui_Dialog): @@ -16,7 +20,12 @@ class AddFromISBN(QDialog, Ui_Dialog): QDialog.__init__(self, parent) self.setupUi(self) + path = r'C:\Users\kovid\e-books\some_book.epub' if iswindows else \ + '/Users/kovid/e-books/some_book.epub' + self.label.setText(unicode(self.label.text())%path) + self.isbns = [] + self.books = [] self.paste_button.clicked.connect(self.paste) def paste(self, *args): @@ -30,11 +39,27 @@ class AddFromISBN(QDialog, Ui_Dialog): def accept(self, *args): for line in unicode(self.isbn_box.toPlainText()).strip().splitlines(): - if line: - isbn = check_isbn(line) - if isbn is not None: - isbn = isbn.upper() - if isbn not in self.isbns: - self.isbns.append(isbn) + line = line.strip() + if not line: + continue + parts = line.split('>>') + if len(parts) > 2: + parts = [parts[0] + '>>'.join(parts[1:])] + parts = [x.strip() for x in parts] + if not parts[0]: + continue + isbn = check_isbn(parts[0]) + if isbn is not None: + isbn = isbn.upper() + if isbn not in self.isbns: + self.isbns.append(isbn) + book = {'isbn': isbn, 'path': None} + if len(parts) > 1 and parts[1] and \ + os.access(parts[1], os.R_OK) and os.path.isfile(parts[1]): + pt = PersistentTemporaryFile(os.path.splitext(parts[1])[1]) + pt.write(open(parts[1], 'rb').read()) + pt.close() + book['path'] = pt.name + self.books.append(book) QDialog.accept(self, *args) diff --git a/src/calibre/gui2/dialogs/add_from_isbn.ui b/src/calibre/gui2/dialogs/add_from_isbn.ui index ef4a4ebb8f..e37c4ed769 100644 --- a/src/calibre/gui2/dialogs/add_from_isbn.ui +++ b/src/calibre/gui2/dialogs/add_from_isbn.ui @@ -24,7 +24,10 @@ - <p>Enter a list of ISBNs in the box to the left, one per line. calibre will automatically create entries for books based on the ISBN and download metadata and covers for them.<p>Any invalid ISBNs in the list will be ignored. + <p>Enter a list of ISBNs in the box to the left, one per line. calibre will automatically create entries for books based on the ISBN and download metadata and covers for them.</p> +<p>Any invalid ISBNs in the list will be ignored.</p> +<p>You can also specify a file that will be added with each ISBN. To do this enter the full path to the file after a <code>>></code>. For example:</p> +<p><code>9788842915232 >> %s</code></p> true From f3c10853850ca274c9e4a06168f2b96431177a60 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 10:01:37 -0700 Subject: [PATCH 46/80] MOBI Input: Fix bug in cleanup regex that broke parsing of escaped XML declarations. Fixes #7585 (eBook Viewer XML incompatibility) --- src/calibre/ebooks/mobi/reader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/mobi/reader.py b/src/calibre/ebooks/mobi/reader.py index 309023ede9..f80d15359c 100644 --- a/src/calibre/ebooks/mobi/reader.py +++ b/src/calibre/ebooks/mobi/reader.py @@ -475,8 +475,8 @@ class MobiReader(object): self.processed_html = self.processed_html.replace('\r\n', '\n') self.processed_html = self.processed_html.replace('> <', '>\n<') self.processed_html = self.processed_html.replace(']*>', '', self.processed_html) - # Swap inline and block level elements, and order block level elements according to priority + self.processed_html = re.sub(r'<\?xml[^>]*>', '', self.processed_html) + # Swap inline and block level elements, and order block level elements according to priority # - lxml and beautifulsoup expect/assume a specific order based on xhtml spec self.processed_html = re.sub(r'(?i)(?P(<(h\d+|i|b|u|em|small|big|strong|tt)>\s*){1,})(?P]*>)', '\g'+'\g', self.processed_html) self.processed_html = re.sub(r'(?i)(?P]*>)\s*(?P(\s*){1,})', '\g'+'\g', self.processed_html) From af3753d079e68bad85a837e4c3535cfcaa1dacc5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 10:32:51 -0700 Subject: [PATCH 47/80] version 0.7.30 --- Changelog.yaml | 102 +++++++++++++++++++++++++++++++++++++++ src/calibre/constants.py | 2 +- 2 files changed, 103 insertions(+), 1 deletion(-) diff --git a/Changelog.yaml b/Changelog.yaml index 5a96059d37..bde3841981 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,108 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.30 + date: 2010-11-26 + + new features: + - title: "Support for Acer Lumiread and PocketBook Pro 602" + + - title: "When importing by ISBN also allow the specification of a file to be imported." + tickets: [7400] + + - title: "E-mail sending: Email sends are now regular jobs that can be accessed from the jobs list. Also when sending using gmail/hotmail send at most one email every five minutes to avoid trigerring their spam controls. Failed sends are now retried one more time, automatically." + + - title: "Content server: When a category contains only one item, go directly to the book list instead of forcing the user to click on that one item" + + - title: "E-mail sending: Allow unencrypted connections to SMTP relay" + + - title: "Improve startup times for large libraries by caching the has_cover check" + + - title: "Update windows binary build to use python 2.7" + + - title: "Metadata and cover download plugins from Nicebooks (disabled by default)" + + + bug fixes: + - title: "MOBI Input: Fix bug in cleanup regex that broke parsing of escaped XML declarations." + tickets: [7585] + + - title: "Content server: Fix bug when user has custom categories/columns with non ascii names" + tickets: [7590] + + - title: "RTF Output: Handle non breaking spaces correctly" + tickets: [7668] + + - title: "Conversion pipeline: When rasterizing SVG images workaround incorrect handinlg of percentage height specifications in QSvgRenderer." + tickets: [7598] + + - title: "News download: Update version of feedparser used to parse RSS feeds." + tickets: [7674] + + - title: "Tag Browser: Allow user to restore hidden categories by a right click even is all categories have been hidden" + + - title: "TXT/RTF Output: Handle XML processing instructions embedded in content correctly." + tickets: [7644] + + - title: "MOBI Input: Workarounds for lack of nesting rules between block and inline tags" + tickets: [7618] + + - title: "E-book viewer: Load all hyphenation patterns to support multi-lingual books" + + - title: "E-book viewer: Fix incorrect lang names being used in hyphenation" + + - title: "Check to see that the result file from a conversion is not empty before adding it, protects against the case where the conversion process crashes and the GUI adds a zero byte file to the book record" + + - title: "E-book viewer: More sophisticated algorithm to resize images to fit viewer window. Should preserve aspect ratio in more cases" + + - title: "Remove unneccessary calls to set_path when creating book records. Speeds up record creation by about 30% on my system" + + - title: "Speedup for bibtex catalog generation." + + - title: "Kobo driver: Fix missing table in deleting books process for Kobo WiFi and Kobo-O 1.8 Beta" + + - title: "RTF Input: Preserve scene breaks in the form of empty paragraphs. Preprocessing: Improvements to chapter detection" + + - title: "Fix custom recipe not sorted by title" + tickets: [7486] + + - title: "Kobo driver: Fix bug in managing the Im_Reading category on windows" + + improved recipes: + - "El Pais - Uruguay" + - Argentinian La Nacion + - comics.com + - Mingpao + - Revista Muy Intersante + - Telepolis + - New York Times + + new recipes: + - title: "Bangkok Biz News and Matichon" + author: "Anat Ruangrassamee" + + - title: "The Workingham Times and Deutsche Welle" + author: "Darko Miletic" + + - title: "Biz Portal" + author: "marbs" + + - title: "Various Japanese news sources" + author: "Hiroshi Miura" + + - title: "Arcamax" + author: "Starson17" + + - title: "Various Spanish news sources" + author: "Gustavo Azambuja" + + - title: "TSN" + author: Nexus + + - title: "Zeit Online Premium" + author: Steffen Siebert + + - version: 0.7.29 date: 2010-11-19 diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 015324fb37..ba597fcc30 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.29' +__version__ = '0.7.30' __author__ = "Kovid Goyal " import re From 0cf2089c8d1c2d134c4fccaf604a5c597568adcf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 26 Nov 2010 11:30:11 -0700 Subject: [PATCH 48/80] IGN:Tag release --- setup/pygettext.py | 4 + src/calibre/gui2/actions/add.py | 10 +- src/calibre/gui2/dialogs/add_from_isbn.py | 6 +- src/calibre/translations/calibre.pot | 422 +++++++++++----------- 4 files changed, 227 insertions(+), 215 deletions(-) diff --git a/setup/pygettext.py b/setup/pygettext.py index 9ef2b7aa1b..bc171396f4 100644 --- a/setup/pygettext.py +++ b/setup/pygettext.py @@ -632,6 +632,10 @@ def main(outfile, args=sys.argv[1:]): except tokenize.TokenError, e: print >> sys.stderr, '%s: %s, line %d, column %d' % ( e[0], filename, e[1][0], e[1][1]) + except IndentationError, e: + print >> sys.stderr, '%s: %s, line %s, column %s' % ( + e[0], filename, e.lineno, e[1][1]) + finally: if closep: fp.close() diff --git a/src/calibre/gui2/actions/add.py b/src/calibre/gui2/actions/add.py index 78eeec4b21..5cc72c3ff0 100644 --- a/src/calibre/gui2/actions/add.py +++ b/src/calibre/gui2/actions/add.py @@ -88,18 +88,18 @@ class AddAction(InterfaceAction): for x in xrange(num): self.gui.library_view.model().db.import_book(MetaInformation(None), []) self.gui.library_view.model().books_added(num) - + def add_isbns(self, books): from calibre.ebooks.metadata import MetaInformation ids = set([]) for x in books: mi = MetaInformation(None) mi.isbn = x['isbn'] + db = self.gui.library_view.model().db if x['path'] is not None: - ids.add(self.gui.library_view.model().db.import_book(mi, [x['path']])) - os.remove(x['path']) - else: - ids.add(self.gui.library_view.model().db.import_book(mi, [])) + ids.add(db.import_book(mi, [x['path']])) + else: + ids.add(db.import_book(mi, [])) self.gui.library_view.model().books_added(len(books)) self.gui.iactions['Edit Metadata'].do_download_metadata(ids) diff --git a/src/calibre/gui2/dialogs/add_from_isbn.py b/src/calibre/gui2/dialogs/add_from_isbn.py index 632532aebf..f93cddecd5 100644 --- a/src/calibre/gui2/dialogs/add_from_isbn.py +++ b/src/calibre/gui2/dialogs/add_from_isbn.py @@ -12,7 +12,6 @@ from PyQt4.Qt import QDialog, QApplication from calibre.gui2.dialogs.add_from_isbn_ui import Ui_Dialog from calibre.ebooks.metadata import check_isbn from calibre.constants import iswindows -from calibre.ptempfile import PersistentTemporaryFile class AddFromISBN(QDialog, Ui_Dialog): @@ -56,10 +55,7 @@ class AddFromISBN(QDialog, Ui_Dialog): book = {'isbn': isbn, 'path': None} if len(parts) > 1 and parts[1] and \ os.access(parts[1], os.R_OK) and os.path.isfile(parts[1]): - pt = PersistentTemporaryFile(os.path.splitext(parts[1])[1]) - pt.write(open(parts[1], 'rb').read()) - pt.close() - book['path'] = pt.name + book['path'] = parts[1] self.books.append(book) QDialog.accept(self, *args) diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 708825dbe5..262d5915ec 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.29\n" -"POT-Creation-Date: 2010-11-24 21:02+MST\n" -"PO-Revision-Date: 2010-11-24 21:02+MST\n" +"Project-Id-Version: calibre 0.7.30\n" +"POT-Creation-Date: 2010-11-26 10:43+MST\n" +"PO-Revision-Date: 2010-11-26 10:43+MST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" @@ -72,9 +72,9 @@ msgstr "" #: /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:624 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:830 -#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:832 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:627 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:833 +#: /home/kovid/work/calibre/src/calibre/ebooks/mobi/reader.py:835 #: /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:913 @@ -126,8 +126,8 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/fetch_metadata.py:155 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:571 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler.py:186 -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:206 -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:215 +#: /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:376 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:395 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:918 @@ -249,163 +249,163 @@ msgstr "" msgid "Set metadata from %s files" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:715 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 msgid "Look and Feel" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:717 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 +#: /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 msgid "Interface" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:721 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:723 msgid "Adjust the look and feel of the calibre interface to suit your tastes" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:727 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:729 msgid "Behavior" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:733 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:735 msgid "Change the way calibre behaves" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:738 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:740 #: /home/kovid/work/calibre/src/calibre/gui2/library/views.py:209 msgid "Add your own columns" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:744 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:746 msgid "Add/remove your own columns to the calibre book list" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:749 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:751 msgid "Customize the toolbar" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:755 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:757 msgid "Customize the toolbars and context menus, changing which actions are available in each" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:761 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 msgid "Input Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:763 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 +#: /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 msgid "Conversion" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:767 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:769 msgid "Set conversion options specific to each input format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:772 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:774 msgid "Common Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:778 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:780 msgid "Set conversion options common to all formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:783 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:785 msgid "Output Options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:789 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:791 msgid "Set conversion options specific to each output format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:794 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 msgid "Adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:796 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 +#: /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 msgid "Import/Export" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:800 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:802 msgid "Control how calibre reads metadata from files when adding books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:806 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:808 msgid "Saving books to disk" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:812 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:814 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:818 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:820 msgid "Sending books to devices" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:824 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:826 msgid "Control how calibre transfers files to your ebook reader" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:830 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:832 msgid "Metadata plugboards" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:836 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:838 msgid "Change metadata fields before saving/sending" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:841 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 msgid "Sharing books by email" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:843 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:845 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:857 msgid "Sharing" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:847 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:849 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:853 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:855 msgid "Sharing over the net" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:859 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:861 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:866 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 msgid "Plugins" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:868 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 +#: /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 msgid "Advanced" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:872 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:874 msgid "Add/remove/customize various bits of calibre functionality" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:878 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:880 msgid "Tweaks" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:884 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:886 msgid "Fine tune how calibre behaves in various contexts" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:889 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:891 msgid "Miscellaneous" msgstr "" -#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:895 +#: /home/kovid/work/calibre/src/calibre/customize/builtins.py:897 msgid "Miscellaneous advanced configuration" msgstr "" @@ -735,6 +735,10 @@ msgstr "" msgid "Communicate with the PocketBook 301 reader." msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/eb600/driver.py:233 +msgid "Communicate with the PocketBook 602 reader." +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/edge/driver.py:17 msgid "Entourage Edge" msgstr "" @@ -892,7 +896,7 @@ msgid "Adding books to device metadata listing..." msgstr "" #: /home/kovid/work/calibre/src/calibre/devices/kobo/driver.py:428 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:258 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:262 msgid "Not Implemented" msgstr "" @@ -933,6 +937,10 @@ msgstr "" msgid "Communicate with the GM2000" msgstr "" +#: /home/kovid/work/calibre/src/calibre/devices/misc.py:180 +msgid "Communicate with the Acer Lumiread" +msgstr "" + #: /home/kovid/work/calibre/src/calibre/devices/nokia/driver.py:17 msgid "Communicate with the Nokia 770 internet tablet." msgstr "" @@ -1944,7 +1952,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:313 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1127 #: /home/kovid/work/calibre/src/calibre/library/field_metadata.py:160 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:645 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:655 msgid "Tags" msgstr "" @@ -2329,7 +2337,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/ebooks/oeb/transforms/jacket.py:159 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:71 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:643 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:653 msgid "Rating" msgstr "" @@ -2824,87 +2832,87 @@ msgstr "" msgid "How many empty books should be added?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:143 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:202 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:147 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:206 msgid "Uploading books to device." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/metadata_single.py:170 msgid "Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:161 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 msgid "EPUB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:162 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 msgid "LRF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:163 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 msgid "HTML Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:164 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:168 msgid "LIT Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:165 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169 msgid "MOBI Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:166 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:170 msgid "Topaz books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:167 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 msgid "Text books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:168 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:172 msgid "PDF Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:169 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:173 msgid "SNB Books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:170 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:174 msgid "Comics" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:171 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:175 msgid "Archives" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:175 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:179 msgid "Supported books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:211 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:215 msgid "Merged some books" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:216 msgid "Some duplicates were found and merged into the following existing books:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:221 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:225 msgid "Failed to read metadata" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:222 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:226 msgid "Failed to read metadata from the following" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:241 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:245 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:269 msgid "Add to library" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:246 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:250 #: /home/kovid/work/calibre/src/calibre/gui2/actions/delete.py:56 #: /home/kovid/work/calibre/src/calibre/gui2/actions/tweak_epub.py:28 #: /home/kovid/work/calibre/src/calibre/gui2/actions/view.py:94 @@ -2912,11 +2920,11 @@ msgstr "" msgid "No book selected" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:259 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:263 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:265 +#: /home/kovid/work/calibre/src/calibre/gui2/actions/add.py:269 msgid "No book files found" msgstr "" @@ -3605,7 +3613,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:650 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:660 msgid "Show book details" msgstr "" @@ -4048,7 +4056,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:123 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/toolbar_ui.py:98 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/tweaks_ui.py:49 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 msgid "Form" msgstr "" @@ -5272,7 +5280,7 @@ 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/email.py:267 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:296 msgid "No suitable formats" msgstr "" @@ -5391,10 +5399,14 @@ msgid "Add books by ISBN" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:49 -msgid "

    Enter a list of ISBNs in the box to the left, one per line. calibre will automatically create entries for books based on the ISBN and download metadata and covers for them.

    Any invalid ISBNs in the list will be ignored." +msgid "" +"

    Enter a list of ISBNs in the box to the left, one per line. calibre will automatically create entries for books based on the ISBN and download metadata and covers for them.

    \n" +"

    Any invalid ISBNs in the list will be ignored.

    \n" +"

    You can also specify a file that will be added with each ISBN. To do this enter the full path to the file after a >>. For example:

    \n" +"

    9788842915232 >> %s

    " msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:50 +#: /home/kovid/work/calibre/src/calibre/gui2/dialogs/add_from_isbn_ui.py:53 msgid "&Paste from clipboard" msgstr "" @@ -5624,13 +5636,13 @@ msgstr "" #: #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/edit_authors_dialog.py:115 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:590 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:597 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:591 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:598 msgid "Author names cannot contain & characters." msgstr "" @@ -6328,14 +6340,14 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:63 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:217 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:125 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 msgid "&Username:" msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/password_ui.py:64 #: /home/kovid/work/calibre/src/calibre/gui2/dialogs/scheduler_ui.py:218 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/server_ui.py:126 -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 msgid "&Password:" msgstr "" @@ -6778,12 +6790,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:580 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:587 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:581 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:588 msgid "An item cannot be set to nothing. Delete it instead." msgstr "" @@ -7038,64 +7050,56 @@ msgstr "" msgid "Recipe source code (python)" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:38 -msgid "No details available" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:120 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:145 msgid "Email %s to %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:160 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:187 msgid "News:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:161 -msgid "Attached is the" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:189 +msgid "Attached is the %s periodical downloaded by calibre." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:213 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:242 msgid "E-book:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:216 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:245 msgid "Attached, you will find the e-book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:217 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:246 #: /home/kovid/work/calibre/src/calibre/gui2/preferences/plugins.py:107 msgid "by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:218 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:247 msgid "in the %s format." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:231 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:260 msgid "Sending email to" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:261 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:290 msgid "Auto convert the following books before sending via email?" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:268 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:297 msgid "Could not email the following books as no suitable formats were found:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:286 -msgid "Failed to email books" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:303 +msgid "Failed to email book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:287 -msgid "Failed to email the following books:" +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:306 +msgid "sent" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:291 -msgid "Sent by email:" -msgstr "" - -#: /home/kovid/work/calibre/src/calibre/gui2/email.py:314 +#: /home/kovid/work/calibre/src/calibre/gui2/email.py:329 msgid "Sent news to" msgstr "" @@ -7388,7 +7392,7 @@ msgstr "" #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:693 #: /home/kovid/work/calibre/src/calibre/gui2/library/models.py:1236 -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:407 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:414 msgid "The lookup/search name is \"{0}\"" msgstr "" @@ -7503,12 +7507,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:494 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:503 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:495 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:504 msgid "Previous Page" msgstr "" @@ -7702,7 +7706,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:649 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:659 msgid "Details" msgstr "" @@ -8779,26 +8783,22 @@ msgstr "" msgid "&Alternate shortcut:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:200 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:202 msgid "Rename '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:204 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:206 msgid "Edit sort for '%s'" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:209 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:211 msgid "Hide category %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:212 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:214 msgid "Show category" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:216 -msgid "Show all categories" -msgstr "" - #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:223 #: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:227 msgid "Manage %s" @@ -8813,60 +8813,64 @@ msgstr "" msgid "Manage User Categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:451 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:248 +msgid "Show all categories" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:458 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:456 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:463 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:512 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:519 #: /home/kovid/work/calibre/src/calibre/library/database2.py:296 msgid "Searches" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:595 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:602 msgid "Duplicate search name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:596 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:603 msgid "The saved search name %s is already used." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:871 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:878 msgid "Sort by name" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:871 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:878 msgid "Sort by popularity" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:872 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:879 msgid "Sort by average rating" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:875 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:882 msgid "Set the sort order for entries in the Tag Browser" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:881 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:888 msgid "Match all" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:881 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:888 msgid "Match any" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:886 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:893 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:890 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:897 msgid "Manage &user categories" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:893 +#: /home/kovid/work/calibre/src/calibre/gui2/tag_view.py:900 msgid "Add your own categories to the Tag Browser" msgstr "" @@ -8921,8 +8925,8 @@ msgstr "" msgid "Calibre Quick Start Guide" msgstr "" +#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:439 #: /home/kovid/work/calibre/src/calibre/gui2/ui.py:450 -#: /home/kovid/work/calibre/src/calibre/gui2/ui.py:480 msgid "Conversion Error" msgstr "" @@ -9123,94 +9127,94 @@ msgstr "" msgid "No results found for:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:35 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:36 msgid "Options to customize the ebook viewer" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:42 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:43 #: /home/kovid/work/calibre/src/calibre/gui2/viewer/main.py:711 msgid "Remember last used window size" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:44 -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:81 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:45 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:82 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:46 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:47 msgid "Maximum width of the viewer window, in pixels." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:48 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 msgid "Resize images larger than the viewer window to fit inside it" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:49 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:50 msgid "Hyphenate text" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:51 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:52 msgid "Default language for hyphenation rules" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:53 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:54 msgid "Font options" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:55 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:56 msgid "The serif font family" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:57 +#: /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:59 +#: /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:60 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 msgid "The standard font size in px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:61 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 msgid "The monospaced font size in px" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:62 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:63 msgid "The standard font type" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:470 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:479 msgid "&Lookup in dictionary" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:473 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:482 #: /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:485 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:494 msgid "Next Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:486 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:495 msgid "Previous Section" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:488 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:497 msgid "Document Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:489 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:498 msgid "Document End" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:491 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:500 msgid "Section Start" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:492 +#: /home/kovid/work/calibre/src/calibre/gui2/viewer/documentview.py:501 msgid "Section End" msgstr "" @@ -9632,83 +9636,91 @@ msgstr "" msgid "You must set the username and password for the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:121 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 msgid "Send email &from:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:122 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 msgid "

    This is what will be present in the From: field of emails sent by calibre.
    Set it to your email address" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:123 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 msgid "

    A mail server is useful if the service you are sending mail to only accepts email from well know mail services." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:124 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 msgid "Mail &Server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:125 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 msgid "calibre can optionally use a server to send mail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:126 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 msgid "&Hostname:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:127 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:130 msgid "The hostname of your mail server. For e.g. smtp.gmail.com" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:128 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 msgid "&Port:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:129 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:132 msgid "The port your mail server listens for connections on. The default is 25" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:131 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 msgid "Your username on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:133 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 msgid "Your password on the mail server" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:134 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 msgid "&Show" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:135 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 msgid "&Encryption:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:136 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 msgid "Use TLS encryption when connecting to the mail server. This is the most common." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:137 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 msgid "&TLS" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:138 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 msgid "Use SSL encryption when connecting to the mail server." msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:139 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 msgid "&SSL" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:140 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:143 +msgid "WARNING: Using no encryption is highly insecure" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:144 +msgid "&None" +msgstr "" + +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:145 msgid "Use Gmail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:141 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:146 msgid "Use Hotmail" msgstr "" -#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:142 +#: /home/kovid/work/calibre/src/calibre/gui2/wizard/send_email_ui.py:147 msgid "&Test email" msgstr "" @@ -10606,7 +10618,7 @@ msgid "Prefix to prepend to all URLs. Useful for reverseproxying to this server msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:59 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:427 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:437 msgid "Loading, please wait" msgstr "" @@ -10665,13 +10677,13 @@ msgid "home" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:332 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:538 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:548 #: /home/kovid/work/calibre/src/calibre/library/server/opds.py:569 msgid "Newest" msgstr "" #: /home/kovid/work/calibre/src/calibre/library/server/browse.py:333 -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:539 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:549 msgid "All books" msgstr "" @@ -10683,51 +10695,51 @@ msgstr "" msgid "Choose a category to browse by:" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:447 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:457 msgid "Browsing by" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:448 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:458 msgid "Up" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:569 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:579 msgid "in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:572 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:582 msgid "Books in" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:624 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:634 msgid "Other formats" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:631 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:641 msgid "Read %s in the %s format" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:636 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:646 msgid "Get" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:651 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:661 msgid "Permalink" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:652 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:662 msgid "A permanent link to this book" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:663 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:673 msgid "This book has been deleted" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:747 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:757 msgid "in search" msgstr "" -#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:749 +#: /home/kovid/work/calibre/src/calibre/library/server/browse.py:759 msgid "Matching books" msgstr "" @@ -11037,7 +11049,7 @@ msgstr "" msgid "Failed to authenticate with server: %s" msgstr "" -#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:248 +#: /home/kovid/work/calibre/src/calibre/utils/smtp.py:249 msgid "Control email delivery" msgstr "" From a5cadce60355a8afc49c0bd37375fff78db84d3e Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 27 Nov 2010 11:30:52 +0000 Subject: [PATCH 49/80] Fix #7459: Bug/error when copying and deleting from one library to another. Problem arose because field_metadata modified a class_level (static) attribute. --- src/calibre/library/field_metadata.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py index dbc871026e..afc63cb692 100644 --- a/src/calibre/library/field_metadata.py +++ b/src/calibre/library/field_metadata.py @@ -3,6 +3,7 @@ Created on 25 May 2010 @author: charles ''' +import copy from calibre.utils.ordered_dict import OrderedDict from calibre.utils.config import tweaks @@ -86,7 +87,7 @@ class FieldMetadata(dict): # Builtin metadata {{{ - _field_metadata = [ + _field_metadata_prototype = [ ('authors', {'table':'authors', 'column':'name', 'link_column':'author', @@ -322,6 +323,7 @@ class FieldMetadata(dict): ] def __init__(self): + self._field_metadata = copy.deepcopy(self._field_metadata_prototype) self._tb_cats = OrderedDict() self._search_term_map = {} self.custom_label_to_key_map = {} From 9e756e0a9630bb5da8dec82fbc7a18cd6ce06f21 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 27 Nov 2010 12:09:12 +0000 Subject: [PATCH 50/80] Fix #7548: Edit bulk m'data won't edit all if one instance is already specified. The None value was ambiguous, meaning both None and No Change. Added a 'Do not change' option to eliminate the ambiguity. --- src/calibre/gui2/custom_column_widgets.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/custom_column_widgets.py b/src/calibre/gui2/custom_column_widgets.py index 3103d7c459..053dd7a743 100644 --- a/src/calibre/gui2/custom_column_widgets.py +++ b/src/calibre/gui2/custom_column_widgets.py @@ -437,7 +437,7 @@ class BulkBool(BulkBase, Bool): if tweaks['bool_custom_columns_are_tristate'] == 'no' and val is None: val = False if value is not None and value != val: - return None + return 'nochange' value = val return value @@ -445,19 +445,23 @@ class BulkBool(BulkBase, Bool): self.widgets = [QLabel('&'+self.col_metadata['name']+':', parent), QComboBox(parent)] w = self.widgets[1] - items = [_('Yes'), _('No'), _('Undefined')] - icons = [I('ok.png'), I('list_remove.png'), I('blank.png')] + items = [_('Yes'), _('No'), _('Undefined'), _('Do not change')] + icons = [I('ok.png'), I('list_remove.png'), I('blank.png'), I('blank.png')] for icon, text in zip(icons, items): w.addItem(QIcon(icon), text) + def getter(self): + val = self.widgets[1].currentIndex() + return {3: 'nochange', 2: None, 1: False, 0: True}[val] + def setter(self, val): - val = {None: 2, False: 1, True: 0}[val] + val = {'nochange': 3, None: 2, False: 1, True: 0}[val] self.widgets[1].setCurrentIndex(val) def commit(self, book_ids, notify=False): val = self.gui_val val = self.normalize_ui_val(val) - if val != self.initial_val: + if val != self.initial_val and val != 'nochange': if tweaks['bool_custom_columns_are_tristate'] == 'no' and val is None: val = False self.db.set_custom_bulk(book_ids, val, num=self.col_id, notify=notify) From be987eac406099888b356eca8ce9a5f9d3f76d74 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 27 Nov 2010 14:03:05 +0000 Subject: [PATCH 51/80] Enhancement #7559: tests on counts of items in multiple fields. --- src/calibre/library/caches.py | 39 ++++++++++++++++++++++++----------- src/calibre/manual/gui.rst | 8 +++++++ 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index 075fbe664a..6148019906 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -403,7 +403,7 @@ class ResultCache(SearchQueryParser): # {{{ '<=':[2, lambda r, q: r <= q] } - def get_numeric_matches(self, location, query): + def get_numeric_matches(self, location, query, val_func = None): matches = set([]) if len(query) == 0: return matches @@ -419,7 +419,10 @@ class ResultCache(SearchQueryParser): # {{{ if relop is None: (p, relop) = self.numeric_search_relops['='] - loc = self.field_metadata[location]['rec_index'] + if val_func is None: + loc = self.field_metadata[location]['rec_index'] + val_func = lambda item, loc=loc: item[loc] + dt = self.field_metadata[location]['datatype'] if dt == 'int': cast = (lambda x: int (x)) @@ -430,6 +433,9 @@ class ResultCache(SearchQueryParser): # {{{ elif dt == 'float': cast = lambda x : float (x) adjust = lambda x: x + else: # count operation + cast = (lambda x: int (x)) + adjust = lambda x: x if len(query) > 1: mult = query[-1:].lower() @@ -446,10 +452,11 @@ class ResultCache(SearchQueryParser): # {{{ for item in self._data: if item is None: continue - if not item[loc]: + v = val_func(item) + if not v: i = 0 else: - i = adjust(item[loc]) + i = adjust(v) if relop(i, q): matches.add(item[0]) return matches @@ -467,15 +474,23 @@ class ResultCache(SearchQueryParser): # {{{ return matches raise ParseException(query, len(query), 'Recursive query group detected', self) - # take care of dates special case - if location in self.field_metadata and \ - self.field_metadata[location]['datatype'] == 'datetime': - return self.get_dates_matches(location, query.lower()) + if location in self.field_metadata: + fm = self.field_metadata[location] + # take care of dates special case + if fm['datatype'] == 'datetime': + return self.get_dates_matches(location, query.lower()) - # take care of numbers special case - if location in self.field_metadata and \ - self.field_metadata[location]['datatype'] in ('rating', 'int', 'float'): - return self.get_numeric_matches(location, query.lower()) + # take care of numbers special case + if fm['datatype'] in ('rating', 'int', 'float'): + return self.get_numeric_matches(location, query.lower()) + + # take care of the 'count' operator for is_multiples + if fm['is_multiple'] and \ + len(query) > 1 and query.startswith('#') and \ + query[1:1] in '=<>!': + vf = lambda item, loc=fm['rec_index'], ms=fm['is_multiple']:\ + len(item[loc].split(ms)) if item[loc] is not None else 0 + return self.get_numeric_matches(location, query[1:], val_func=vf) # everything else, or 'all' matches matchkind = CONTAINS_MATCH diff --git a/src/calibre/manual/gui.rst b/src/calibre/manual/gui.rst index c81688ba8c..a91124b214 100644 --- a/src/calibre/manual/gui.rst +++ b/src/calibre/manual/gui.rst @@ -274,6 +274,14 @@ Searching for ``no`` or ``unchecked`` will find all books with ``No`` in the col :guilabel:`Advanced Search Dialog` +You can test for the number of items in multiple-value columns, such as tags, formats, authors, and tags-like custom columns. This is done using a syntax very similar to numeric tests (discussed above), except that the relational operator begins with a ``#`` character. For example:: + + tags:#>3 will give you books with more than three tags + tags:#!=3 will give you books that do not have three tags + authors:#=1 will give you books with exactly one author + #cust:#<5 will give you books with less than five items in custom column #cust + formats:#>1 will give you books with more than one format + Saving searches ----------------- From 9b80244bdb94d20a6c04e0bb810b2b93bc39ab09 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 27 Nov 2010 15:19:15 +0000 Subject: [PATCH 52/80] field_metadata changes to account for the new has_cover DB column. --- src/calibre/library/database2.py | 2 -- src/calibre/library/field_metadata.py | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index ffb97e481f..47c575386b 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -268,8 +268,6 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): base, prefer_custom=True) - self.field_metadata.set_field_record_index('cover', - self.FIELD_MAP['cover'], prefer_custom=False) self.FIELD_MAP['ondevice'] = base+1 self.field_metadata.set_field_record_index('ondevice', base+1, prefer_custom=False) self.FIELD_MAP['all_metadata'] = base+2 diff --git a/src/calibre/library/field_metadata.py b/src/calibre/library/field_metadata.py index afc63cb692..d10dc5da71 100644 --- a/src/calibre/library/field_metadata.py +++ b/src/calibre/library/field_metadata.py @@ -162,6 +162,15 @@ class FieldMetadata(dict): 'search_terms':['tags', 'tag'], 'is_custom':False, 'is_category':True}), + ('all_metadata',{'table':None, + 'column':None, + 'datatype':None, + 'is_multiple':None, + 'kind':'field', + 'name':None, + 'search_terms':[], + 'is_custom':False, + 'is_category':False}), ('author_sort',{'table':None, 'column':None, 'datatype':'text', @@ -181,7 +190,7 @@ class FieldMetadata(dict): 'is_custom':False, 'is_category':False}), ('cover', {'table':None, 'column':None, - 'datatype':None, + 'datatype':'int', 'is_multiple':None, 'kind':'field', 'name':None, @@ -224,15 +233,6 @@ class FieldMetadata(dict): 'search_terms':[], 'is_custom':False, 'is_category':False}), - ('all_metadata',{'table':None, - 'column':None, - 'datatype':None, - 'is_multiple':None, - 'kind':'field', - 'name':None, - 'search_terms':[], - 'is_custom':False, - 'is_category':False}), ('ondevice', {'table':None, 'column':None, 'datatype':'text', From 5834a210d941a2a1f4d1166486f64dd199dbb9e5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 09:07:53 -0700 Subject: [PATCH 53/80] Fix #7691 (can't start app) --- setup/installer/windows/notes.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index c45cd4cfc9..14c8d28df6 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -21,6 +21,8 @@ This is where all dependencies will be installed. Add C:\Python27\Scripts and C:\Python27 to PATH +Edit mimetypes.py in C:\Python27\Lib and change line 250 UnicodeEncodeError to ValueError + Install setuptools from http://pypi.python.org/pypi/setuptools If there are no windows binaries already compiled for the version of python you are using then download the source and run the following command in the folder where the source has been unpacked:: @@ -32,6 +34,8 @@ Run the following command to install python dependencies:: Install BeautifulSoup 3.0.x manually into site-packages (3.1.x parses broken HTML very poorly) +Install pywin32 and edit win32com\__init__.py setting _frozen = True and +__gen_path__ to a temp dir (otherwise it tries to set it to a dir in the install tree which leads to permission errors) SQLite --------- From 030d4825fdb17ec8b6147ed023df733a34028fa5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 09:16:48 -0700 Subject: [PATCH 54/80] Fix #7701 (Updated recipe for the Wokingham times) --- ...gham_times.png => the_wokingham_times.png} | Bin resources/recipes/the_workingham_times.recipe | 18 +++++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) rename resources/images/news/{the_workingham_times.png => the_wokingham_times.png} (100%) diff --git a/resources/images/news/the_workingham_times.png b/resources/images/news/the_wokingham_times.png similarity index 100% rename from resources/images/news/the_workingham_times.png rename to resources/images/news/the_wokingham_times.png diff --git a/resources/recipes/the_workingham_times.recipe b/resources/recipes/the_workingham_times.recipe index ad069f1e9b..2c4f33261a 100644 --- a/resources/recipes/the_workingham_times.recipe +++ b/resources/recipes/the_workingham_times.recipe @@ -6,8 +6,8 @@ www.getwokingham.co.uk from calibre.web.feeds.recipes import BasicNewsRecipe -class TheWorkinghamTimes(BasicNewsRecipe): - title = 'The Workingham Times' +class TheWokinghamTimes(BasicNewsRecipe): + title = 'The Wokingham Times' __author__ = 'Darko Miletic' description = 'News from UK' oldest_article = 2 @@ -19,11 +19,11 @@ class TheWorkinghamTimes(BasicNewsRecipe): category = 'news, UK, world' language = 'en_GB' publication_type = 'newsportal' - extra_css = """ + extra_css = """ body{ font-family: Arial,sans-serif } - img{display: block; margin-bottom: 0.4em} + img{display: block; margin-bottom: 0.4em} """ - + conversion_options = { 'comments' : description ,'tags' : category @@ -32,10 +32,10 @@ class TheWorkinghamTimes(BasicNewsRecipe): } keep_only_tags = [dict(name='div', attrs={'id':'article-body'})] - remove_tags = [ + remove_tags = [ dict(name='div' , attrs={'class':['ad']}) ,dict(name=['meta','base','iframe','embed','object']) - ,dict(name='span' , attrs={'class':'caption small'}) + ,dict(name='span' , attrs={'class':'caption small'}) ] remove_attributes = ['width','height','lang'] @@ -55,5 +55,5 @@ class TheWorkinghamTimes(BasicNewsRecipe): item.replaceWith(str) else: item.name = 'span' - del item['href'] - return soup + del item['href'] + return soup \ No newline at end of file From 7182f45c98a2f3c2dc346d338b060be739f5d4b9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 10:07:00 -0700 Subject: [PATCH 55/80] Fix #7694 (Calibre-parallel.exe stopped working error: downlaoding NY Times) --- src/calibre/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index a43b0126ff..6e39f56266 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -362,6 +362,8 @@ def walk(dir): def strftime(fmt, t=None): ''' A version of strftime that returns unicode strings and tries to handle dates before 1900 ''' + if not fmt: + return u'' if t is None: t = time.localtime() if hasattr(t, 'timetuple'): @@ -378,7 +380,8 @@ def strftime(fmt, t=None): if isinstance(fmt, unicode): fmt = fmt.encode('mbcs') ans = plugins['winutil'][0].strftime(fmt, t) - ans = time.strftime(fmt, t).decode(preferred_encoding, 'replace') + else: + ans = time.strftime(fmt, t).decode(preferred_encoding, 'replace') if early_year: ans = ans.replace('_early year hack##', str(orig_year)) return ans From 128522a946f1d72932d08c237cfbe8424369baa5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 10:31:08 -0700 Subject: [PATCH 56/80] ... --- setup/installer/windows/freeze.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/setup/installer/windows/freeze.py b/setup/installer/windows/freeze.py index 118b6690f0..30cc2a97af 100644 --- a/setup/installer/windows/freeze.py +++ b/setup/installer/windows/freeze.py @@ -108,8 +108,7 @@ class Win32Freeze(Command, WixMixIn): for f in x[-1]: if f.lower().endswith('.dll'): f = self.j(x[0], f) - if 'py2exe' not in f: - shutil.copy2(f, self.dll_dir) + shutil.copy2(f, self.dll_dir) shutil.copy2( r'C:\Python%(v)s\Lib\site-packages\pywin32_system32\pywintypes%(v)s.dll' % dict(v=self.py_ver), self.dll_dir) @@ -118,7 +117,7 @@ class Win32Freeze(Command, WixMixIn): ans = [] for x in items: ext = os.path.splitext(x)[1] - if (not ext and (x in ('demos', 'tests') or 'py2exe' in x)) or \ + if (not ext and (x in ('demos', 'tests'))) or \ (ext in ('.dll', '.chm', '.htm', '.txt')): ans.append(x) return ans From 477dc900891317568e00beeb3ac37f36a80d1dd3 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 11:21:22 -0700 Subject: [PATCH 57/80] Fix #7685 (Fetch News broken on v0.7.30. Images and photos don't show on e-reader.) --- setup/installer/windows/notes.rst | 8 ++++++-- src/calibre/__init__.py | 7 +++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index 14c8d28df6..ed78bf3158 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -21,7 +21,7 @@ This is where all dependencies will be installed. Add C:\Python27\Scripts and C:\Python27 to PATH -Edit mimetypes.py in C:\Python27\Lib and change line 250 UnicodeEncodeError to ValueError +Edit mimetypes.py in C:\Python27\Lib and change line 250 UnicodeEncodeError to ValueError and set _winreg = None to prevent reading of mimetypes from the windows registry Install setuptools from http://pypi.python.org/pypi/setuptools If there are no windows binaries already compiled for the version of python you are using then download the source and run the following command in the folder where the source has been unpacked:: @@ -70,7 +70,11 @@ Compiling instructions:: Python Imaging Library ------------------------ -Install as normal using provided installer. +Install as normal using installer at http://www.lfd.uci.edu/~gohlke/pythonlibs/ + +Test it on the target system with + +calibre-debug -c "import _imaging, _imagingmath, _imagingft, _imagingcms" Libunrar ---------- diff --git a/src/calibre/__init__.py b/src/calibre/__init__.py index 6e39f56266..688d7793a4 100644 --- a/src/calibre/__init__.py +++ b/src/calibre/__init__.py @@ -48,6 +48,13 @@ mimetypes.add_type('application/x-cbz', '.cbz') mimetypes.add_type('application/x-cbr', '.cbr') mimetypes.add_type('application/x-koboreader-ebook', '.kobo') mimetypes.add_type('image/wmf', '.wmf') +mimetypes.add_type('image/jpeg', '.jpg') +mimetypes.add_type('image/jpeg', '.jpeg') +mimetypes.add_type('image/png', '.png') +mimetypes.add_type('image/gif', '.gif') +mimetypes.add_type('image/bmp', '.bmp') +mimetypes.add_type('image/svg+xml', '.svg') + guess_type = mimetypes.guess_type import cssutils cssutils.log.setLevel(logging.WARN) From 31a63fb6d21ee3fa43f4da5aad804a123d5e454f Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 11:29:50 -0700 Subject: [PATCH 58/80] version 0.7.31 --- Changelog.yaml | 8 ++++++++ src/calibre/constants.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Changelog.yaml b/Changelog.yaml index bde3841981..3e5dbb06fc 100644 --- a/Changelog.yaml +++ b/Changelog.yaml @@ -4,6 +4,14 @@ # for important features/bug fixes. # Also, each release can have new and improved recipes. +- version: 0.7.31 + date: 2010-11-27 + + bug fixes: + - title: "Fix various regressions in the calibre windows build caused by the switch to python 2.7. If you are on windows and upgraded to 0.7.30, it is highly recommended that you upgrade to 0.7.31. If you are not on windows, you can ignore 0.7.31" + tickets: [7685, 7694, 7691] + + - version: 0.7.30 date: 2010-11-26 diff --git a/src/calibre/constants.py b/src/calibre/constants.py index ba597fcc30..fc33067f49 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.30' +__version__ = '0.7.31' __author__ = "Kovid Goyal " import re From 04908934e6a8a8b76360a4c5116175dec54acd61 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 12:52:13 -0700 Subject: [PATCH 59/80] IGN:Tag release --- ...kingham_times.png => the_workingham_times.png} | Bin resources/recipes/the_workingham_times.recipe | 14 +++++++------- src/calibre/gui2/book_details.py | 4 ++-- src/calibre/translations/calibre.pot | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename resources/images/news/{the_wokingham_times.png => the_workingham_times.png} (100%) diff --git a/resources/images/news/the_wokingham_times.png b/resources/images/news/the_workingham_times.png similarity index 100% rename from resources/images/news/the_wokingham_times.png rename to resources/images/news/the_workingham_times.png diff --git a/resources/recipes/the_workingham_times.recipe b/resources/recipes/the_workingham_times.recipe index 2c4f33261a..8d18fb42a0 100644 --- a/resources/recipes/the_workingham_times.recipe +++ b/resources/recipes/the_workingham_times.recipe @@ -19,11 +19,11 @@ class TheWokinghamTimes(BasicNewsRecipe): category = 'news, UK, world' language = 'en_GB' publication_type = 'newsportal' - extra_css = """ + extra_css = """ body{ font-family: Arial,sans-serif } - img{display: block; margin-bottom: 0.4em} + img{display: block; margin-bottom: 0.4em} """ - + conversion_options = { 'comments' : description ,'tags' : category @@ -32,10 +32,10 @@ class TheWokinghamTimes(BasicNewsRecipe): } keep_only_tags = [dict(name='div', attrs={'id':'article-body'})] - remove_tags = [ + remove_tags = [ dict(name='div' , attrs={'class':['ad']}) ,dict(name=['meta','base','iframe','embed','object']) - ,dict(name='span' , attrs={'class':'caption small'}) + ,dict(name='span' , attrs={'class':'caption small'}) ] remove_attributes = ['width','height','lang'] @@ -55,5 +55,5 @@ class TheWokinghamTimes(BasicNewsRecipe): item.replaceWith(str) else: item.name = 'span' - del item['href'] - return soup \ No newline at end of file + del item['href'] + return soup diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index e193fe10b2..c6fa4ddc27 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -219,7 +219,7 @@ class BookInfo(QWebView): @@ -227,7 +227,7 @@ class BookInfo(QWebView): %%s - '''%(p, f, c) + '''%(f, c) if self.vertical: if comments: rows += u'%s'%comments diff --git a/src/calibre/translations/calibre.pot b/src/calibre/translations/calibre.pot index 262d5915ec..c513e267e3 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.30\n" -"POT-Creation-Date: 2010-11-26 10:43+MST\n" -"PO-Revision-Date: 2010-11-26 10:43+MST\n" +"Project-Id-Version: calibre 0.7.31\n" +"POT-Creation-Date: 2010-11-27 11:31+MST\n" +"PO-Revision-Date: 2010-11-27 11:31+MST\n" "Last-Translator: Automatically generated\n" "Language-Team: LANGUAGE\n" "MIME-Version: 1.0\n" From 664266577d2c29e0622037f25c53c6615778ceaf Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 13:00:00 -0700 Subject: [PATCH 60/80] ... --- src/calibre/gui2/book_details.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index c6fa4ddc27..7e9d048e66 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -219,7 +219,7 @@ class BookInfo(QWebView): @@ -227,7 +227,7 @@ class BookInfo(QWebView): %%s - '''%(f, c) + '''%(p, f, c) if self.vertical: if comments: rows += u'%s'%comments From f1b2a23dac1bad4173448873c1d67a4fd16e4dda Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 13:21:07 -0700 Subject: [PATCH 61/80] More robust technique to make the background of the details panel transparent --- src/calibre/gui2/book_details.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 7e9d048e66..28ca06b352 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -190,6 +190,10 @@ class BookInfo(QWebView): self.page().setLinkDelegationPolicy(self.page().DelegateAllLinks) self.linkClicked.connect(self.link_activated) self._link_clicked = False + self.setAttribute(Qt.WA_OpaquePaintEvent, False) + palette = self.palette() + palette.setBrush(QPalette.Base, Qt.transparent) + self.page().setPalette(palette) def link_activated(self, link): self._link_clicked = True @@ -211,8 +215,6 @@ class BookInfo(QWebView): def _show_data(self, rows, comments): f = QFontInfo(QApplication.font(self.parent())).pixelSize() - p = unicode(QApplication.palette().color(QPalette.Normal, - QPalette.Window).name()) c = unicode(QApplication.palette().color(QPalette.Normal, QPalette.WindowText).name()) templ = u'''\ @@ -227,7 +229,7 @@ class BookInfo(QWebView): %%s - '''%(p, f, c) + '''%(f, c) if self.vertical: if comments: rows += u'%s'%comments From 711112d1a492cbcacf4610dd07d38b7c1f8052b8 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 13:59:25 -0700 Subject: [PATCH 62/80] Enable SQLite C extension to speed up large library initialization --- src/calibre/library/sqlite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/library/sqlite.py b/src/calibre/library/sqlite.py index 94338433a5..8aa76b2643 100644 --- a/src/calibre/library/sqlite.py +++ b/src/calibre/library/sqlite.py @@ -150,7 +150,7 @@ class DBThread(Thread): detect_types=sqlite.PARSE_DECLTYPES|sqlite.PARSE_COLNAMES) self.conn.execute('pragma cache_size=5000') encoding = self.conn.execute('pragma encoding').fetchone()[0] - c_ext_loaded = False #load_c_extensions(self.conn) + c_ext_loaded = load_c_extensions(self.conn) self.conn.row_factory = sqlite.Row if self.row_factory else lambda cursor, row : list(row) self.conn.create_aggregate('concat', 1, Concatenate) if not c_ext_loaded: From 19f12f8a5d59f07cc450011f4914460671db2938 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 15:17:29 -0700 Subject: [PATCH 63/80] ... --- src/calibre/gui2/book_details.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/book_details.py b/src/calibre/gui2/book_details.py index 28ca06b352..4ffc8da650 100644 --- a/src/calibre/gui2/book_details.py +++ b/src/calibre/gui2/book_details.py @@ -214,9 +214,18 @@ class BookInfo(QWebView): def _show_data(self, rows, comments): + + def color_to_string(col): + ans = '#000000' + if col.isValid(): + col = col.toRgb() + if col.isValid(): + ans = unicode(col.name()) + return ans + f = QFontInfo(QApplication.font(self.parent())).pixelSize() - c = unicode(QApplication.palette().color(QPalette.Normal, - QPalette.WindowText).name()) + c = color_to_string(QApplication.palette().color(QPalette.Normal, + QPalette.WindowText)) templ = u'''\ From 90462414850f558638db5e644271df043c5b9b35 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 15:40:59 -0700 Subject: [PATCH 64/80] Make InterfaceAction plugins loadable from zip files --- src/calibre/customize/__init__.py | 9 +++++++++ src/calibre/gui2/ui.py | 4 +--- src/calibre/manual/plugins.rst | 9 +++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/calibre/customize/__init__.py b/src/calibre/customize/__init__.py index 523fc51d92..251f527bb6 100644 --- a/src/calibre/customize/__init__.py +++ b/src/calibre/customize/__init__.py @@ -370,6 +370,15 @@ class InterfaceActionBase(Plugin): # {{{ can_be_disabled = False actual_plugin = None + + def load_actual_plugin(self, gui): + ''' + This method should must the actual interface action plugin object. + ''' + mod, cls = self.actual_plugin.split(':') + return getattr(__import__(mod, fromlist=['1'], level=0), cls)(gui, + self.site_customization) + # }}} class PreferencesPlugin(Plugin): # {{{ diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index bd0743e819..00bba2b491 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -102,9 +102,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{ self.device_connected = None acmap = OrderedDict() for action in interface_actions(): - mod, cls = action.actual_plugin.split(':') - ac = getattr(__import__(mod, fromlist=['1'], level=0), cls)(self, - action.site_customization) + ac = action.load_actual_plugin(self) if ac.name in acmap: if ac.priority >= acmap[ac.name].priority: acmap[ac.name] = ac diff --git a/src/calibre/manual/plugins.rst b/src/calibre/manual/plugins.rst index eb955aebee..0a62218fb9 100644 --- a/src/calibre/manual/plugins.rst +++ b/src/calibre/manual/plugins.rst @@ -161,11 +161,20 @@ The base class for such devices is :class:`calibre.devices.usbms.driver.USBMS`. User Interface Actions -------------------------- +If you are adding your own plugin in a zip file, you should subclass both InterfaceActionBase and InterfaceAction. The :meth:`load_actual_plugin` method of you InterfaceActionBase subclass must return an instantiated object of your InterfaceBase subclass. + + .. autoclass:: calibre.gui2.actions.InterfaceAction :show-inheritance: :members: :member-order: bysource +.. autoclass:: calibre.customize.InterfaceActionBase + :show-inheritance: + :members: + :member-order: bysource + + Preferences Plugins -------------------------- From b3c6bb4cb1e938176150d12429ab0c55748baab0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 15:45:15 -0700 Subject: [PATCH 65/80] ... --- src/calibre/customize/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/customize/__init__.py b/src/calibre/customize/__init__.py index 251f527bb6..b4e9b6c448 100644 --- a/src/calibre/customize/__init__.py +++ b/src/calibre/customize/__init__.py @@ -373,7 +373,7 @@ class InterfaceActionBase(Plugin): # {{{ def load_actual_plugin(self, gui): ''' - This method should must the actual interface action plugin object. + This method must return the actual interface action plugin object. ''' mod, cls = self.actual_plugin.split(':') return getattr(__import__(mod, fromlist=['1'], level=0), cls)(gui, From 3ac65b82c08c63f2ec799540cc63f0f3bf2b3411 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 17:45:48 -0700 Subject: [PATCH 66/80] A Hello World GUI plugin --- src/calibre/manual/customize.rst | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/calibre/manual/customize.rst b/src/calibre/manual/customize.rst index e0f799f572..5272a88f53 100644 --- a/src/calibre/manual/customize.rst +++ b/src/calibre/manual/customize.rst @@ -98,6 +98,44 @@ Every time you use calibre to convert a book, the plugin's :meth:`run` method wi converted book will have its publisher set to "Hello World". For more information about |app|'s plugin system, read on... + +A Hello World GUI plugin +--------------------------- + +Here's a simple Hello World plugin for the |app| GUI. It will cause a box to popup with the message "Hellooo World!" when you press Ctrl+Shift+H + +.. code-block:: python + + from calibre.customize import InterfaceActionBase + + class HelloWorldBase(InterfaceActionBase): + + name = 'Hello World GUI' + author = 'The little green man' + + def load_actual_plugin(self, gui): + from calibre.gui2.actions import InterfaceAction + + class HelloWorld(InterfaceAction): + name = 'Hello World GUI' + action_spec = ('Hello World!', 'add_book.png', None, + _('Ctrl+Shift+H')) + + def genesis(self): + self.qaction.triggered.connect(self.hello_world) + + def hello_world(self, *args): + from calibre.gui2 import info_dialog + info_dialog(self.gui, 'Hello World!', 'Hellooo World!', + show=True) + + return HelloWorld(gui, None) + +You can also have it show up in the toolbars/context menu by going to Preferences->Toolbars and adding this plugin to the locations you want it to be in. + +While this plugin is utterly useless, note that all calibre GUI actions like adding/saving/removing/viewing/etc. are implemented as plugins, so there is no limit to what you can acheive. The key thing to remember is that the plugin has access to the full |app| GUI via ``self.gui``. + + The Plugin base class ------------------------ From fa4986e6c897f8c32208308aa488f455ee3337de Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 19:05:13 -0700 Subject: [PATCH 67/80] Improve Revista Muy Intersante --- resources/recipes/revista_muy.recipe | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/resources/recipes/revista_muy.recipe b/resources/recipes/revista_muy.recipe index b101fe97ce..c4516f718d 100644 --- a/resources/recipes/revista_muy.recipe +++ b/resources/recipes/revista_muy.recipe @@ -13,6 +13,8 @@ class RevistaMuyInteresante(BasicNewsRecipe): no_stylesheets = True remove_javascript = True + conversion_options = {'linearize_tables': True} + extra_css = ' .txt_articulo{ font-family: sans-serif; font-size: medium; text-align: justify } .contentheading{font-family: serif; font-size: large; font-weight: bold; color: #000000; text-align: center}' @@ -39,11 +41,12 @@ class RevistaMuyInteresante(BasicNewsRecipe): keep_only_tags = [dict(name='div', attrs={'class':['article']}),dict(name='td', attrs={'class':['txt_articulo']})] remove_tags = [ - dict(name=['object','link','script','ul']) + dict(name=['object','link','script','ul','iframe','ins']) ,dict(name='div', attrs={'id':['comment']}) ,dict(name='td', attrs={'class':['buttonheading']}) - ,dict(name='div', attrs={'class':['tags_articles']}) + ,dict(name='div', attrs={'class':['tags_articles','bajo_title']}) ,dict(name='table', attrs={'class':['pagenav']}) + ,dict(name='form', attrs={'class':['voteform']}) ] remove_tags_after = dict(name='div', attrs={'class':'tags_articles'}) @@ -115,3 +118,5 @@ class RevistaMuyInteresante(BasicNewsRecipe): if link_item: cover_url = "http://www.muyinteresante.es"+link_item['src'] return cover_url + + From 3a7da561cc69594b4a61306241e1ca330a17fbc6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 19:31:12 -0700 Subject: [PATCH 68/80] Fix regression taht broke RTF conversion on some linux systems --- src/calibre/ebooks/rtf/input.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calibre/ebooks/rtf/input.py b/src/calibre/ebooks/rtf/input.py index 75c839eb83..57903a6711 100644 --- a/src/calibre/ebooks/rtf/input.py +++ b/src/calibre/ebooks/rtf/input.py @@ -292,7 +292,8 @@ class RTFInput(InputFormatPlugin): # Replace newlines inserted by the 'empty_paragraphs' option in rtf2xml with html blank lines if not getattr(self.options, 'remove_paragraph_spacing', False): res = re.sub('\s*', '', res) - res = re.sub('(?<=\n)\n{2}', u'

    \u00a0

    \n', res) + res = re.sub('(?<=\n)\n{2}', + u'

    \u00a0

    \n'.encode('utf-8'), res) if self.options.preprocess_html: preprocessor = PreProcessor(self.options, log=getattr(self, 'log', None)) res = preprocessor(res) From 3cea3ec006db7d81449a7ea3cfec7bf7b07d8253 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 27 Nov 2010 19:33:05 -0700 Subject: [PATCH 69/80] ... --- src/calibre/manual/customize.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/manual/customize.rst b/src/calibre/manual/customize.rst index 5272a88f53..0d6f75b9cf 100644 --- a/src/calibre/manual/customize.rst +++ b/src/calibre/manual/customize.rst @@ -129,11 +129,11 @@ Here's a simple Hello World plugin for the |app| GUI. It will cause a box to pop info_dialog(self.gui, 'Hello World!', 'Hellooo World!', show=True) - return HelloWorld(gui, None) + return HelloWorld(gui, self.site_customization) You can also have it show up in the toolbars/context menu by going to Preferences->Toolbars and adding this plugin to the locations you want it to be in. -While this plugin is utterly useless, note that all calibre GUI actions like adding/saving/removing/viewing/etc. are implemented as plugins, so there is no limit to what you can acheive. The key thing to remember is that the plugin has access to the full |app| GUI via ``self.gui``. +While this plugin is utterly useless, note that all calibre GUI actions like adding/saving/removing/viewing/etc. are implemented as plugins, so there is no limit to what you can achieve. The key thing to remember is that the plugin has access to the full |app| GUI via ``self.gui``. The Plugin base class From 2145a487d45904113dc922db1ae131eeff178041 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sun, 28 Nov 2010 11:47:36 +0000 Subject: [PATCH 70/80] Add check for valid has_cover to check_library --- src/calibre/gui2/dialogs/check_library.py | 89 ++++++++++++++++++----- src/calibre/library/check_library.py | 69 +++++++++++++----- src/calibre/library/database2.py | 8 ++ 3 files changed, 127 insertions(+), 39 deletions(-) diff --git a/src/calibre/gui2/dialogs/check_library.py b/src/calibre/gui2/dialogs/check_library.py index 55cd91dcd3..c00ee99cc0 100644 --- a/src/calibre/gui2/dialogs/check_library.py +++ b/src/calibre/gui2/dialogs/check_library.py @@ -32,23 +32,30 @@ class CheckLibraryDialog(QDialog): self.log.itemChanged.connect(self.item_changed) self._layout.addWidget(self.log) - self.check = QPushButton(_('&Run the check')) - self.check.setDefault(False) - self.check.clicked.connect(self.run_the_check) - self.copy = QPushButton(_('Copy &to clipboard')) - self.copy.setDefault(False) - self.copy.clicked.connect(self.copy_to_clipboard) - self.ok = QPushButton('&Done') - self.ok.setDefault(True) - self.ok.clicked.connect(self.accept) - self.delete = QPushButton('Delete &marked') - self.delete.setDefault(False) - self.delete.clicked.connect(self.delete_marked) + self.check_button = QPushButton(_('&Run the check')) + self.check_button.setDefault(False) + self.check_button.clicked.connect(self.run_the_check) + self.copy_button = QPushButton(_('Copy &to clipboard')) + self.copy_button.setDefault(False) + self.copy_button.clicked.connect(self.copy_to_clipboard) + self.ok_button = QPushButton('&Done') + self.ok_button.setDefault(True) + self.ok_button.clicked.connect(self.accept) + self.delete_button = QPushButton('Delete &marked') + self.delete_button.setToolTip(_('Delete marked files (checked subitems)')) + self.delete_button.setDefault(False) + self.delete_button.clicked.connect(self.delete_marked) + self.fix_button = QPushButton('&Fix marked') + self.fix_button.setDefault(False) + self.fix_button.setEnabled(False) + self.fix_button.setToolTip(_('Fix marked sections (checked fixable items)')) + self.fix_button.clicked.connect(self.fix_items) self.bbox = QDialogButtonBox(self) - self.bbox.addButton(self.check, QDialogButtonBox.ActionRole) - self.bbox.addButton(self.delete, QDialogButtonBox.ActionRole) - self.bbox.addButton(self.copy, QDialogButtonBox.ActionRole) - self.bbox.addButton(self.ok, QDialogButtonBox.AcceptRole) + self.bbox.addButton(self.check_button, QDialogButtonBox.ActionRole) + self.bbox.addButton(self.delete_button, QDialogButtonBox.ActionRole) + self.bbox.addButton(self.fix_button, QDialogButtonBox.ActionRole) + self.bbox.addButton(self.copy_button, QDialogButtonBox.ActionRole) + self.bbox.addButton(self.ok_button, QDialogButtonBox.AcceptRole) h = QHBoxLayout() ln = QLabel(_('Names to ignore:')) @@ -93,12 +100,19 @@ class CheckLibraryDialog(QDialog): plaintext = [] def builder(tree, checker, check): - attr, h, checkable = check + attr, h, checkable, fixable = check list = getattr(checker, attr, None) if list is None: return - tl = Item([h]) + tl = Item() + tl.setText(0, h) + if fixable: + tl.setText(1, _('(fixable)')) + tl.setFlags(Qt.ItemIsEnabled | Qt.ItemIsUserCheckable) + tl.setCheckState(1, False) + self.top_level_items[attr] = tl + for problem in list: it = Item() if checkable: @@ -107,6 +121,7 @@ class CheckLibraryDialog(QDialog): else: it.setFlags(Qt.ItemIsEnabled) it.setText(0, problem[0]) + it.setData(0, Qt.UserRole, problem[2]) it.setText(1, problem[1]) tl.addChild(it) self.all_items.append(it) @@ -118,18 +133,25 @@ class CheckLibraryDialog(QDialog): t.setColumnCount(2); t.setHeaderLabels([_('Name'), _('Path from library')]) self.all_items = [] + self.top_level_items = {} for check in CHECKS: builder(t, checker, check) t.setColumnWidth(0, 200) t.setColumnWidth(1, 400) - self.delete.setEnabled(False) + self.delete_button.setEnabled(False) self.text_results = '\n'.join(plaintext) def item_changed(self, item, column): + self.fix_button.setEnabled(False) + for it in self.top_level_items.values(): + if it.checkState(1): + self.fix_button.setEnabled(True) + + self.delete_button.setEnabled(False) for it in self.all_items: if it.checkState(1): - self.delete.setEnabled(True) + self.delete_button.setEnabled(True) return def delete_marked(self): @@ -157,6 +179,33 @@ class CheckLibraryDialog(QDialog): unicode(it.text(1)))) self.run_the_check() + def fix_missing_covers(self): + tl = self.top_level_items['missing_covers'] + child_count = tl.childCount() + for i in range(0, child_count): + item = tl.child(i); + id = item.data(0, Qt.UserRole).toInt()[0] + self.db.set_has_cover(id, False) + + def fix_extra_covers(self): + tl = self.top_level_items['extra_covers'] + child_count = tl.childCount() + for i in range(0, child_count): + item = tl.child(i); + id = item.data(0, Qt.UserRole).toInt()[0] + self.db.set_has_cover(id, True) + + def fix_items(self): + for check in CHECKS: + attr = check[0] + fixable = check[3] + tl = self.top_level_items[attr] + if fixable and tl.checkState(1): + func = getattr(self, 'fix_' + attr, None) + if func is not None and callable(func): + func() + self.run_the_check() + def copy_to_clipboard(self): QApplication.clipboard().setText(self.text_results) diff --git a/src/calibre/library/check_library.py b/src/calibre/library/check_library.py index b285da0006..b49330db3e 100644 --- a/src/calibre/library/check_library.py +++ b/src/calibre/library/check_library.py @@ -14,14 +14,25 @@ from calibre.ebooks import BOOK_EXTENSIONS EBOOK_EXTENSIONS = frozenset(BOOK_EXTENSIONS) NORMALS = frozenset(['metadata.opf', 'cover.jpg']) -CHECKS = [('invalid_titles', _('Invalid titles'), True), - ('extra_titles', _('Extra titles'), True), - ('invalid_authors', _('Invalid authors'), True), - ('extra_authors', _('Extra authors'), True), - ('missing_formats', _('Missing book formats'), False), - ('extra_formats', _('Extra book formats'), True), - ('extra_files', _('Unknown files in books'), True), - ('failed_folders', _('Folders raising exception'), False) +''' +Checks fields: +- name of array containing info +- user-readable name of info +- can be deleted (can be checked) +- can be fixed. In this case, the name of the fix method is derived from the + array name +''' + +CHECKS = [('invalid_titles', _('Invalid titles'), True, False), + ('extra_titles', _('Extra titles'), True, False), + ('invalid_authors', _('Invalid authors'), True, False), + ('extra_authors', _('Extra authors'), True, False), + ('missing_formats', _('Missing book formats'), False, False), + ('extra_formats', _('Extra book formats'), True, False), + ('extra_files', _('Unknown files in books'), True, False), + ('missing_covers', _('Missing covers in books'), False, True), + ('extra_covers', _('Extra covers in books'), True, True), + ('failed_folders', _('Folders raising exception'), False, False) ] @@ -57,6 +68,10 @@ class CheckLibrary(object): self.extra_formats = [] self.extra_files = [] + self.missing_covers = [] + self.extra_covers = [] + + self.failed_folders = [] def dbpath(self, id): return self.db.path(id, index_is_id=True) @@ -83,7 +98,7 @@ class CheckLibrary(object): auth_path = os.path.join(lib, auth_dir) # First check: author must be a directory if not os.path.isdir(auth_path): - self.invalid_authors.append((auth_dir, auth_dir)) + self.invalid_authors.append((auth_dir, auth_dir, 0)) continue self.potential_authors[auth_dir] = {} @@ -98,7 +113,7 @@ class CheckLibrary(object): m = self.db_id_regexp.search(title_dir) # Second check: title must have an ID and must be a directory if m is None or not os.path.isdir(title_path): - self.invalid_titles.append((auth_dir, db_path)) + self.invalid_titles.append((auth_dir, db_path, 0)) continue id = m.group(1) @@ -106,12 +121,12 @@ class CheckLibrary(object): if self.is_case_sensitive: if int(id) not in self.all_ids or \ db_path not in self.all_dbpaths: - self.extra_titles.append((title_dir, db_path)) + self.extra_titles.append((title_dir, db_path, 0)) continue else: if int(id) not in self.all_ids or \ db_path.lower() not in self.all_lc_dbpaths: - self.extra_titles.append((title_dir, db_path)) + self.extra_titles.append((title_dir, db_path, 0)) continue # Record the book to check its formats @@ -120,7 +135,7 @@ class CheckLibrary(object): # Fourth check: author directories that contain no titles if not found_titles: - self.extra_authors.append((auth_dir, auth_dir)) + self.extra_authors.append((auth_dir, auth_dir, 0)) for x in self.book_dirs: try: @@ -152,17 +167,20 @@ class CheckLibrary(object): unknowns = frozenset(filenames-formats-NORMALS) # Check: any books that aren't formats or normally there? for u in unknowns: - self.extra_files.append((title_dir, os.path.join(db_path, u))) + self.extra_files.append((title_dir, + os.path.join(db_path, u), book_id)) # Check: any book formats that should be there? missing = book_formats - formats for m in missing: - self.missing_formats.append((title_dir, os.path.join(db_path, m))) + self.missing_formats.append((title_dir, + os.path.join(db_path, m), book_id)) # Check: any book formats that shouldn't be there? extra = formats - book_formats - NORMALS for e in extra: - self.extra_formats.append((title_dir, os.path.join(db_path, e))) + self.extra_formats.append((title_dir, + os.path.join(db_path, e), book_id)) else: def lc_map(fnames, fset): m = {} @@ -175,15 +193,28 @@ class CheckLibrary(object): unknowns = frozenset(filenames_lc-formats_lc-NORMALS) # Check: any books that aren't formats or normally there? for f in lc_map(filenames, unknowns): - self.extra_files.append((title_dir, os.path.join(db_path, f))) + self.extra_files.append((title_dir, os.path.join(db_path, f), + book_id)) book_formats_lc = frozenset([f.lower() for f in book_formats]) # Check: any book formats that should be there? missing = book_formats_lc - formats_lc for m in lc_map(book_formats, missing): - self.missing_formats.append((title_dir, os.path.join(db_path, m))) + self.missing_formats.append((title_dir, + os.path.join(db_path, m), book_id)) # Check: any book formats that shouldn't be there? extra = formats_lc - book_formats_lc - NORMALS for e in lc_map(formats, extra): - self.extra_formats.append((title_dir, os.path.join(db_path, e))) + self.extra_formats.append((title_dir, os.path.join(db_path, e), + book_id)) + + # check cached has_cover + if self.db.has_cover(book_id): + if 'cover.jpg' not in filenames: + self.missing_covers.append((title_dir, + os.path.join(db_path, title_dir, 'cover.jpg'), book_id)) + else: + if 'cover.jpg' in filenames: + self.extra_covers.append((title_dir, + os.path.join(db_path, title_dir, 'cover.jpg'), book_id)) diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 47c575386b..a07e46577e 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -801,6 +801,14 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): if notify: self.notify('cover', [id]) + def has_cover(self, id): + return self.data.get(id, self.FIELD_MAP['cover'], row_is_id=True) + + def set_has_cover(self, id, val): + dval = 1 if val else 0 + self.conn.execute('UPDATE books SET has_cover=? WHERE id=?', (dval, id,)) + self.data.set(id, self.FIELD_MAP['cover'], val, row_is_id=True) + def book_on_device(self, id): if callable(self.book_on_device_func): return self.book_on_device_func(id) From af98ebf24decbf35966eb3c0f69da418f4acb824 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Nov 2010 12:36:33 -0700 Subject: [PATCH 71/80] Animal Politico by leamsi --- resources/recipes/animal_politico.recipe | 111 +++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 resources/recipes/animal_politico.recipe diff --git a/resources/recipes/animal_politico.recipe b/resources/recipes/animal_politico.recipe new file mode 100644 index 0000000000..f48587ea94 --- /dev/null +++ b/resources/recipes/animal_politico.recipe @@ -0,0 +1,111 @@ +#!/usr/bin/python +# encoding: utf-8 + +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1290663986(BasicNewsRecipe): + title = u'Animal Pol\u00EDtico' + publisher = u'Animal Pol\u00EDtico' + category = u'News, Mexico' + description = u'Noticias Pol\u00EDticas' + __author__ = 'leamsi' + masthead_url = 'http://www.animalpolitico.com/wp-content/themes/animal_mu/images/logo.png' + oldest_article = 1 + max_articles_per_feed = 100 + language = 'es' + + #feeds = [(u'Animal Politico', u'http://www.animalpolitico.com/feed/')] + + remove_tags_before = dict(name='div', id='main') + remove_tags = [dict(name='div', attrs={'class':'fb-like-button'})] + keep_only_tags = [dict(name='h1', attrs={'class':'entry-title'}), + dict(name='div', attrs={'class':'entry-content'})] + remove_javascript = True + INDEX = 'http://www.animalpolitico.com/' + + def generic_parse(self, soup): + articles = [] + for entry in soup.findAll(lambda tag: tag.name == 'li' and tag.has_key('class') and tag['class'].find('hentry') != -1): #soup.findAll('li', 'hentry'): + article_url = entry.a['href'] + '?print=yes' + article_title= entry.find('h3', 'entry-title') + article_title= self.tag_to_string(article_title) + article_date = entry.find('span', 'the-time') + article_date = self.tag_to_string(article_date) + article_desc = self.tag_to_string(entry.find('p')) + + #print 'Article:',article_title, article_date,article_url + #print entry['class'] + + articles.append({'title' : article_title, + 'date' : article_date, + 'description' : article_desc, + 'url' : article_url}) + # Avoid including the multimedia stuff. + if entry['class'].find('last') != -1: + break + + return articles + + def plumaje_parse(self, soup): + articles = [] + blogs_soup = soup.find(lambda tag: tag.name == 'ul' and tag.has_key('class') and tag['class'].find('bloglist-fecha') != -1) + for entry in blogs_soup.findAll('li'): + article_title = entry.p + article_url = article_title.a['href'] + '?print=yes' + article_date = article_title.nextSibling + article_title = self.tag_to_string(article_title) + article_date = self.tag_to_string(article_date).replace(u'Last Updated: ', '') + article_desc = self.tag_to_string(entry.find('h4')) + + #print 'Article:',article_title, article_date,article_url + articles.append({'title' : article_title, + 'date' : article_date, + 'description' : article_desc, + 'url' : article_url}) + + return articles + + def boca_parse(self, soup): + articles = [] + for entry in soup.findAll(lambda tag: tag.name == 'div' and tag.has_key('class') and tag['class'].find('hentry') != -1): #soup.findAll('li', 'hentry'): + article_title= entry.find('h2', 'entry-title') + article_url = article_title.a['href'] + '?print=yes' + article_title= self.tag_to_string(article_title) + article_date = entry.find('span', 'entry-date') + article_date = self.tag_to_string(article_date) + article_desc = self.tag_to_string(entry.find('div', 'entry-content')) + + #print 'Article:',article_title, article_date,article_url + #print entry['class'] + + articles.append({'title' : article_title, + 'date' : article_date, + 'description' : article_desc, + 'url' : article_url}) + # Avoid including the multimedia stuff. + if entry['class'].find('last') != -1: + break + + return articles + + + + + def parse_index(self): + gobierno_soup = self.index_to_soup(self.INDEX+'gobierno/') + congreso_soup = self.index_to_soup(self.INDEX+'congreso/') + seguridad_soup = self.index_to_soup(self.INDEX+'seguridad/') + comunidad_soup = self.index_to_soup(self.INDEX+'comunidad/') + plumaje_soup = self.index_to_soup(self.INDEX+'plumaje/') + la_boca_del_lobo_soup = self.index_to_soup(self.INDEX+'category/la-boca-del-lobo/') + + gobierno_articles = self.generic_parse(gobierno_soup) + congreso_articles = self.generic_parse(congreso_soup) + seguridad_articles = self.generic_parse(seguridad_soup) + comunidad_articles = self.generic_parse(comunidad_soup) + plumaje_articles = self.plumaje_parse(plumaje_soup) + la_boca_del_lobo_articles = self.boca_parse(la_boca_del_lobo_soup) + + + return [ (u'Gobierno', gobierno_articles), (u'Congreso', congreso_articles), (u'Seguridad', seguridad_articles), + (u'Comunidad', comunidad_articles), (u'Plumaje', plumaje_articles), (u'La Boca del Lobo', la_boca_del_lobo_articles), ] From f6d70a1cd27bda0270b6b99e346eb0723bed999c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Nov 2010 14:54:36 -0700 Subject: [PATCH 72/80] Nook Color profile: Reduce screen height to 900px --- src/calibre/customize/profiles.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/calibre/customize/profiles.py b/src/calibre/customize/profiles.py index 2318c6724e..74a79689d9 100644 --- a/src/calibre/customize/profiles.py +++ b/src/calibre/customize/profiles.py @@ -683,8 +683,8 @@ class NookColorOutput(NookOutput): short_name = 'nook_color' description = _('This profile is intended for the B&N Nook Color.') - screen_size = (600, 980) - comic_screen_size = (584, 980) + screen_size = (600, 900) + comic_screen_size = (584, 900) dpi = 169 class BambookOutput(OutputProfile): From ddbd7449b539277a1401a7d13a44006b8c332fcb Mon Sep 17 00:00:00 2001 From: Timothy Legge Date: Sun, 28 Nov 2010 21:10:51 -0400 Subject: [PATCH 73/80] Change the method used to determine the firmware revision --- src/calibre/devices/kobo/driver.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index 174441c276..0eddf26549 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -25,6 +25,8 @@ class KOBO(USBMS): version = (1, 0, 7) dbversion = 0 + fwversion = 0 + has_kepubs = False supported_platforms = ['windows', 'osx', 'linux'] @@ -75,6 +77,14 @@ class KOBO(USBMS): self._card_b_prefix if oncard == 'cardb' \ else self._main_prefix + # Determine the firmware version + f = open(self.normalize_path(self._main_prefix + '.kobo/version'), 'r') + fwversion = f.readline().split(',')[2] + f.close() + if fwversion != '1.0' and fwversion != '1.4': + self.has_kepubs = True + debug_print('Version of firmware: ', fwversion, 'Has kepubs:', self.has_kepubs) + self.booklist_class.rebuild_collections = self.rebuild_collections # get the metadata cache @@ -114,7 +124,7 @@ class KOBO(USBMS): #print "Image name Normalized: " + imagename if imagename is not None: bl[idx].thumbnail = ImageWrapper(imagename) - if (ContentType != '6'and self.dbversion < 8) or (self.dbversion >= 8): + if (ContentType != '6'and self.has_kepubs == False) or (self.has_kepubs == True): if self.update_metadata_item(bl[idx]): # print 'update_metadata_item returned true' changed = True @@ -122,7 +132,7 @@ class KOBO(USBMS): playlist_map[lpath] not in bl[idx].device_collections: bl[idx].device_collections.append(playlist_map[lpath]) else: - if ContentType == '6' and self.dbversion < 8: + if ContentType == '6' and self.has_kepubs == False: book = Book(prefix, lpath, title, authors, mime, date, ContentType, ImageID, size=1048576) else: try: @@ -142,7 +152,7 @@ class KOBO(USBMS): traceback.print_exc() return changed - connection = sqlite.connect(self._main_prefix + '.kobo/KoboReader.sqlite') + connection = sqlite.connect(self.normalize_path(self._main_prefix + '.kobo/KoboReader.sqlite')) cursor = connection.cursor() #query = 'select count(distinct volumeId) from volume_shortcovers' @@ -210,7 +220,7 @@ class KOBO(USBMS): # 2) volume_shorcover # 2) content - connection = sqlite.connect(self._main_prefix + '.kobo/KoboReader.sqlite') + connection = sqlite.connect(self.normalize_path(self._main_prefix + '.kobo/KoboReader.sqlite')) cursor = connection.cursor() t = (ContentID,) cursor.execute('select ImageID from content where ContentID = ?', t) @@ -352,7 +362,7 @@ class KOBO(USBMS): def contentid_from_path(self, path, ContentType): if ContentType == 6: - if self.dbversion < 8: + if self.has_kepubs == False: ContentID = os.path.splitext(path)[0] # Remove the prefix on the file. it could be either ContentID = ContentID.replace(self._main_prefix, '') @@ -403,13 +413,13 @@ class KOBO(USBMS): path = path.replace("file:///mnt/sd/", self._card_a_prefix) # print "SD Card: " + path else: - if ContentType == "6" and self.dbversion < 8: + if ContentType == "6" and self.has_kepubs == False: # This is a hack as the kobo files do not exist # but the path is required to make a unique id # for calibre's reference path = self._main_prefix + path + '.kobo' # print "Path: " + path - elif (ContentType == "6" or ContentType == "10") and self.dbversion >= 8: + elif (ContentType == "6" or ContentType == "10") and self.has_kepubs == True: path = self._main_prefix + '.kobo/kepub/' + path # print "Internal: " + path else: @@ -476,7 +486,7 @@ class KOBO(USBMS): # Needs to be outside books collection as in the case of removing # the last book from the collection the list of books is empty # and the removal of the last book would not occur - connection = sqlite.connect(self._main_prefix + '.kobo/KoboReader.sqlite') + connection = sqlite.connect(self.normalize_path(self._main_prefix + '.kobo/KoboReader.sqlite')) cursor = connection.cursor() From bd9ab0808ef79b3b25ff7e5b673223754e0effc6 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Nov 2010 20:42:08 -0700 Subject: [PATCH 74/80] ... --- src/calibre/customize/profiles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/customize/profiles.py b/src/calibre/customize/profiles.py index 74a79689d9..2ca3bb0c54 100644 --- a/src/calibre/customize/profiles.py +++ b/src/calibre/customize/profiles.py @@ -684,7 +684,7 @@ class NookColorOutput(NookOutput): description = _('This profile is intended for the B&N Nook Color.') screen_size = (600, 900) - comic_screen_size = (584, 900) + comic_screen_size = (594, 900) dpi = 169 class BambookOutput(OutputProfile): From 84833cf430590cd347c409cfc7a1345000384954 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 Nov 2010 22:51:19 -0700 Subject: [PATCH 75/80] All new linux binary build. With updated dependencies and replacing cx_Freeze with my own C python launcher. If you are running calibre using CALIBRE_DEVELOP_FROM with a linux binary build, do not update the calibre source until after 0.7.32 is released. --- setup/installer/cx_Freeze/HISTORY.txt | 244 -------- setup/installer/cx_Freeze/LICENSE.txt | 53 -- setup/installer/cx_Freeze/MANIFEST.in | 6 - setup/installer/cx_Freeze/PKG-INFO | 22 - setup/installer/cx_Freeze/README.txt | 12 - .../installer/cx_Freeze/cx_Freeze/__init__.py | 14 - setup/installer/cx_Freeze/cx_Freeze/dist.py | 279 --------- setup/installer/cx_Freeze/cx_Freeze/finder.py | 455 --------------- .../installer/cx_Freeze/cx_Freeze/freezer.py | 550 ------------------ setup/installer/cx_Freeze/cx_Freeze/hooks.py | 281 --------- setup/installer/cx_Freeze/cx_Freeze/main.py | 171 ------ .../installer/cx_Freeze/cx_Freeze/windist.py | 337 ----------- setup/installer/cx_Freeze/cxfreeze | 6 - .../cx_Freeze/initscripts/Console.py | 35 -- .../cx_Freeze/initscripts/ConsoleKeepPath.py | 19 - .../initscripts/ConsoleSetLibPath.py | 38 -- .../cx_Freeze/initscripts/SharedLib.py | 20 - .../cx_Freeze/initscripts/SharedLibSource.py | 23 - .../cx_Freeze/samples/advanced/advanced_1.py | 7 - .../cx_Freeze/samples/advanced/advanced_2.py | 7 - .../samples/advanced/modules/testfreeze_1.py | 1 - .../samples/advanced/modules/testfreeze_2.py | 1 - .../cx_Freeze/samples/advanced/setup.py | 31 - .../cx_Freeze/samples/matplotlib/setup.py | 27 - .../samples/matplotlib/test_matplotlib.py | 48 -- .../samples/relimport/pkg1/__init__.py | 3 - .../samples/relimport/pkg1/pkg2/__init__.py | 3 - .../samples/relimport/pkg1/pkg2/sub3.py | 3 - .../samples/relimport/pkg1/pkg2/sub5.py | 1 - .../cx_Freeze/samples/relimport/pkg1/sub1.py | 2 - .../cx_Freeze/samples/relimport/pkg1/sub2.py | 1 - .../cx_Freeze/samples/relimport/pkg1/sub4.py | 1 - .../cx_Freeze/samples/relimport/pkg1/sub6.py | 1 - .../cx_Freeze/samples/relimport/relimport.py | 1 - .../cx_Freeze/samples/relimport/setup.py | 16 - .../cx_Freeze/samples/simple/hello.py | 19 - .../cx_Freeze/samples/simple/setup.py | 18 - setup/installer/cx_Freeze/samples/wx/setup.py | 25 - setup/installer/cx_Freeze/samples/wx/wxapp.py | 42 -- setup/installer/cx_Freeze/setup.py | 197 ------- .../installer/cx_Freeze/source/bases/Common.c | 262 --------- .../cx_Freeze/source/bases/Console.c | 72 --- .../cx_Freeze/source/bases/ConsoleKeepPath.c | 60 -- .../cx_Freeze/source/bases/Win32GUI.c | 242 -------- .../installer/cx_Freeze/source/bases/dummy.rc | 5 - .../cx_Freeze/source/bases/manifest.rc | 3 - setup/installer/cx_Freeze/source/util.c | 418 ------------- setup/installer/linux/__init__.py | 3 +- setup/installer/linux/freeze.py | 1 - setup/installer/linux/freeze2.py | 194 ++++-- setup/installer/linux/util.c | 81 ++- setup/installer/windows/notes.rst | 3 +- src/calibre/devices/usbms/device.py | 12 +- src/calibre/ebooks/pdf/pdftohtml.py | 4 +- src/calibre/gui2/__init__.py | 2 +- src/calibre/libunrar.py | 2 +- src/calibre/utils/ipc/launch.py | 43 +- 57 files changed, 209 insertions(+), 4218 deletions(-) delete mode 100644 setup/installer/cx_Freeze/HISTORY.txt delete mode 100644 setup/installer/cx_Freeze/LICENSE.txt delete mode 100644 setup/installer/cx_Freeze/MANIFEST.in delete mode 100644 setup/installer/cx_Freeze/PKG-INFO delete mode 100644 setup/installer/cx_Freeze/README.txt delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/__init__.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/dist.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/finder.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/freezer.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/hooks.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/main.py delete mode 100644 setup/installer/cx_Freeze/cx_Freeze/windist.py delete mode 100755 setup/installer/cx_Freeze/cxfreeze delete mode 100755 setup/installer/cx_Freeze/initscripts/Console.py delete mode 100755 setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py delete mode 100755 setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py delete mode 100755 setup/installer/cx_Freeze/initscripts/SharedLib.py delete mode 100755 setup/installer/cx_Freeze/initscripts/SharedLibSource.py delete mode 100644 setup/installer/cx_Freeze/samples/advanced/advanced_1.py delete mode 100644 setup/installer/cx_Freeze/samples/advanced/advanced_2.py delete mode 100644 setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py delete mode 100644 setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py delete mode 100644 setup/installer/cx_Freeze/samples/advanced/setup.py delete mode 100644 setup/installer/cx_Freeze/samples/matplotlib/setup.py delete mode 100644 setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/relimport.py delete mode 100644 setup/installer/cx_Freeze/samples/relimport/setup.py delete mode 100644 setup/installer/cx_Freeze/samples/simple/hello.py delete mode 100644 setup/installer/cx_Freeze/samples/simple/setup.py delete mode 100644 setup/installer/cx_Freeze/samples/wx/setup.py delete mode 100644 setup/installer/cx_Freeze/samples/wx/wxapp.py delete mode 100755 setup/installer/cx_Freeze/setup.py delete mode 100644 setup/installer/cx_Freeze/source/bases/Common.c delete mode 100644 setup/installer/cx_Freeze/source/bases/Console.c delete mode 100644 setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c delete mode 100644 setup/installer/cx_Freeze/source/bases/Win32GUI.c delete mode 100644 setup/installer/cx_Freeze/source/bases/dummy.rc delete mode 100644 setup/installer/cx_Freeze/source/bases/manifest.rc delete mode 100644 setup/installer/cx_Freeze/source/util.c diff --git a/setup/installer/cx_Freeze/HISTORY.txt b/setup/installer/cx_Freeze/HISTORY.txt deleted file mode 100644 index acf9ad0dfe..0000000000 --- a/setup/installer/cx_Freeze/HISTORY.txt +++ /dev/null @@ -1,244 +0,0 @@ -Changes from 4.0 to 4.0.1 - 1) Added support for Python 2.6. On Windows a manifest file is now required - because of the switch to using the new Microsoft C runtime. - 2) Ensure that hooks are run for builtin modules. - -Changes from 4.0b1 to 4.0 - 1) Added support for copying files to the target directory. - 2) Added support for a hook that runs when a module is missing. - 3) Added support for binary path includes as well as excludes; use sequences - rather than dictionaries as a more convenient API; exclude the standard - locations for 32-bit and 64-bit libaries in multi-architecture systems. - 4) Added support for searching zip files (egg files) for modules. - 5) Added support for handling system exit exceptions similarly to what Python - does itself as requested by Sylvain. - 6) Added code to wait for threads to shut down like the normal Python - interpreter does. Thanks to Mariano Disanzo for discovering this - discrepancy. - 7) Hooks added or modified based on feedback from many people. - 8) Don't include the version name in the display name of the MSI. - 9) Use the OS dependent path normalization routines rather than simply use the - lowercase value as on Unix case is important; thanks to Artie Eoff for - pointing this out. -10) Include a version attribute in the cx_Freeze package and display it in the - output for the --version option to the script. -11) Include build instructions as requested by Norbert Sebok. -12) Add support for copying files when modules are included which require data - files to operate properly; add support for copying the necessary files for - the Tkinter and matplotlib modules. -13) Handle deferred imports recursively as needed; ensure that from lists do - not automatically indicate that they are part of the module or the deferred - import processing doesn't actually work! -14) Handle the situation where a module imports everything from a package and - the __all__ variable has been defined but the package has not actually - imported everything in the __all__ variable during initialization. -15) Modified license text to more closely match the Python Software Foundation - license as was intended. -16) Added sample script for freezing an application using matplotlib. -17) Renamed freeze to cxfreeze to avoid conflict with another package that uses - that executable as requested by Siegfried Gevatter. - -Changes from 3.0.3 to 4.0b1 - 1) Added support for placing modules in library.zip or in a separate zip file - for each executable that is produced. - 2) Added support for copying binary dependent files (DLLs and shared - libraries) - 3) Added support for including all submodules in a package - 4) Added support for including icons in Windows executables - 5) Added support for constants module which can be used for determining - certain build constants at runtime - 6) Added support for relative imports available in Python 2.5 and up - 7) Added support for building Windows installers (Python 2.5 and up) and - RPM packages - 8) Added support for distutils configuration scripts - 9) Added support for hooks which can force inclusion or exclusion of modules - when certain modules are included -10) Added documentation and samples -11) Added setup.py for building the cx_Freeze package instead of a script - used to build only the frozen bases -12) FreezePython renamed to a script called freeze in the Python distribution -13) On Linux and other platforms that support it set LD_RUN_PATH to include - the directory in which the executable is located - -Changes from 3.0.2 to 3.0.3 - 1) In Common.c, used MAXPATHLEN defined in the Python OS independent include - file rather than the PATH_MAX define which is OS dependent and is not - available on IRIX as noted by Andrew Jones. - 2) In the initscript ConsoleSetLibPath.py, added lines from initscript - Console.py that should have been there since the only difference between - that script and this one is the automatic re-execution of the executable. - 3) Added an explicit "import encodings" to the initscripts in order to handle - Unicode encodings a little better. Thanks to Ralf Schmitt for pointing out - the problem and its solution. - 4) Generated a meaningful name for the extension loader script so that it is - clear which particular extension module is being loaded when an exception - is being raised. - 5) In MakeFrozenBases.py, use distutils to figure out a few more - platform-dependent linker flags as suggested by Ralf Schmitt. - -Changes from 3.0.1 to 3.0.2 - 1) Add support for compressing the byte code in the zip files that are - produced. - 2) Add better support for the win32com package as requested by Barry Scott. - 3) Prevent deletion of target file if it happens to be identical to the - source file. - 4) Include additional flags for local modifications to a Python build as - suggested by Benjamin Rutt. - 5) Expanded instructions for building cx_Freeze from source based on a - suggestion from Gregg Lind. - 6) Fix typo in help string. - -Changes from 3.0 to 3.0.1 - 1) Added option --default-path which is used to specify the path used when - finding modules. This is particularly useful when performing cross - compilations (such as for building a frozen executable for Windows CE). - 2) Added option --shared-lib-name which can be used to specify the name of - the shared library (DLL) implementing the Python runtime that is required - for the frozen executable to work. This option is also particularly useful - when cross compiling since the normal method for determining this - information cannot be used. - 3) Added option --zip-include which allows for additional files to be added - to the zip file that contains the modules that implement the Python - script. Thanks to Barray Warsaw for providing the initial patch. - 4) Added support for handling read-only files properly. Thanks to Peter - Grayson for pointing out the problem and providing a solution. - 5) Added support for a frozen executable to be a symbolic link. Thanks to - Robert Kiendl for providing the initial patch. - 6) Enhanced the support for running a frozen executable that uses an existing - Python installation to locate modules it requires. This is primarily of - use for embedding Python where the interface is C but the ability to run - from source is still desired. - 7) Modified the documentation to indicate that building from source on - Windows currently requires the mingw compiler (http://www.mingw.org). - 8) Workaround the problem in Python 2.3 (fixed in Python 2.4) which causes a - broken module to be left in sys.modules if an ImportError takes place - during the execution of the code in that module. Thanks to Roger Binns - for pointing this out. - -Changes from 3.0 beta3 to 3.0 - 1) Ensure that ldd is only run on extension modules. - 2) Allow for using a compiler other than gcc for building the frozen base - executables by setting the environment variable CC. - 3) Ensure that the import lock is not held while executing the main script; - otherwise, attempts to import a module within a thread will hang that - thread as noted by Roger Binns. - 4) Added support for replacing the paths in all frozen modules with something - else (so that for example the path of the machine on which the freezing - was done is not displayed in tracebacks) - -Changes from 3.0 beta2 to 3.0 beta3 - 1) Explicitly include the warnings module so that at runtime warnings are - suppressed as when running Python normally. - 2) Improve the extension loader so that an ImportError is raised when the - dynamic module is not located; otherwise an error about missing attributes - is raised instead. - 3) Extension loaders are only created when copying dependencies since the - normal module should be loadable in the situation where a Python - installation is available. - 4) Added support for Python 2.4. - 5) Fixed the dependency checking for wxPython to be a little more - intelligent. - -Changes from 3.0 beta1 to 3.0 beta2 - 1) Fix issues with locating the initscripts and bases relative to the - directory in which the executable was started. - 2) Added new base executable ConsoleKeepPath which is used when an existing - Python installation is required (such as for FreezePython itself). - 3) Forced the existence of a Python installation to be ignored when using the - standard Console base executable. - 4) Remove the existing file when copying dependent files; otherwise, an error - is raised when attempting to overwrite read-only files. - 5) Added option -O (or -OO) to FreezePython to set the optimization used when - generating bytecode. - -Changes from 2.2 to 3.0 beta1 - 1) cx_Freeze now requires Python 2.3 or higher since it takes advantage of - the ability of Python 2.3 and higher to import modules from zip files. - This makes the freezing process considerably simpler and also allows for - the execution of multiple frozen packages (such as found in COM servers or - shared libraries) without requiring modification to the Python modules. - 2) All external dependencies have been removed. cx_Freeze now only requires - a standard Python distribution to do its work. - 3) Added the ability to define the initialization scripts that cx_Freeze uses - on startup of the frozen program. Previously, these scripts were written - in C and could not easily be changed; now they are written in Python and - can be found in the initscripts directory (and chosen with the - new --init-script option to FreezePython). - 4) The base executable ConsoleSetLibPath has been removed and replaced with - the initscript ConsoleSetLibPath. - 5) Removed base executables for Win32 services and Win32 COM servers. This - functionality will be restored in the future but it is not currently in a - state that is ready for release. If this functionality is required, please - use py2exe or contact me for my work in progress. - 6) The attribute sys.frozen is now set so that more recent pywin32 modules - work as expected when frozen. - 7) Added option --include-path to FreezePython to allow overriding of - sys.path without modifying the environment variable PYTHONPATH. - 8) Added option --target-dir/--install-dir to specify the directory in which - the frozen executable and its dependencies will be placed. - 9) Removed the option --shared-lib since it was used for building shared - libraries and can be managed with the initscript SharedLib.py. -10) MakeFrozenBases.py now checks the platform specific include directory as - requested by Michael Partridge. - - -Changes from 2.1 to 2.2 - 1) Add option (--ext-list-file) to FreezePython to write the list of - extensions copied to the installation directory to a file. This option is - useful in cases where multiple builds are performed into the same - installation directory. - 2) Pass the arguments on the command line through to Win32 GUI applications. - Thanks to Michael Porter for pointing this out. - 3) Link directly against the python DLL when building the frozen bases on - Windows, thus eliminating the need for building an import library. - 4) Force sys.path to include the directory in which the script to be frozen - is found. - 5) Make sure that the installation directory exists before attempting to - copy the target binary into it. - 6) The Win32GUI base has been modified to display fatal errors in message - boxes, rather than printing errors to stderr, since on Windows the - standard file IO handles are all closed. - -Changes from 2.0 to 2.1 - 1) Remove dependency on Python 2.2. Thanks to Paul Moore for not only - pointing it out but providing patches. - 2) Set up the list of frozen modules in advance, rather than doing it after - Python is initialized so that implicit imports done by Python can be - satisfied. The bug in Python 2.3 that demonstrated this issue has been - fixed in the first release candidate. Thanks to Thomas Heller for pointing - out the obvious in this instance! - 3) Added additional base executable (ConsoleSetLibPath) to support setting - the LD_LIBRARY_PATH variable on Unix platforms and restarting the - executable to put the new setting into effect. This is primarily of use - in distributing wxPython applications on Unix where the shared library - has an embedded RPATH value which can cause problems. - 4) Small improvements of documentation based on feedback from several people. - 5) Print information about the files written or copied during the freezing - process. - 6) Do not copy extensions when freezing if the path is being overridden since - it is expected that a full Python installation is available to the target - users of the frozen binary. - 7) Provide meaningful error message when the wxPython library cannot be - found during the freezing process. - -Changes from 1.1 to 2.0 - 1) Added support for in process (DLL) COM servers using PythonCOM. - 2) Ensured that the frozen flag is set prior to determining the full path for - the program in order to avoid warnings about Python not being found on - some platforms. - 3) Added include file and resource file to the source tree to avoid the - dependency on the Wine message compiler for Win32 builds. - 4) Dropped the option --copy-extensions; this now happens automatically since - the resulting binary is useless without them. - 5) Added a sample for building a Win32 service. - 6) Make use of improved modules from Python 2.3 (which function under 2.2) - -Changes from 1.0 to 1.1 - 1) Fixed import error with C extensions in packages; thanks to Thomas Heller - for pointing out the solution to this problem. - 2) Added options to FreezePython to allow for the inclusion of modules which - will not be found by the module finder (--include-modules) and the - exclusion of modules which will be found by the module finder but should - not be included (--exclude-modules). - 3) Fixed typo in README.txt. - diff --git a/setup/installer/cx_Freeze/LICENSE.txt b/setup/installer/cx_Freeze/LICENSE.txt deleted file mode 100644 index cb9ee05a8a..0000000000 --- a/setup/installer/cx_Freeze/LICENSE.txt +++ /dev/null @@ -1,53 +0,0 @@ -Copyright 2007-2008, Colt Engineering, Edmonton, Alberta, Canada. -Copyright 2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, Canada. -All rights reserved. - -NOTE: this license is derived from the Python Software Foundation License -which can be found at http://www.python.org/psf/license - -License for cx_Freeze 4.0.1 ---------------------------- - -1. This LICENSE AGREEMENT is between the copyright holders and the Individual - or Organization ("Licensee") accessing and otherwise using cx_Freeze - software in source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, the - copyright holders hereby grant Licensee a nonexclusive, royalty-free, - world-wide license to reproduce, analyze, test, perform and/or display - publicly, prepare derivative works, distribute, and otherwise use cx_Freeze - alone or in any derivative version, provided, however, that this License - Agreement and this notice of copyright are retained in cx_Freeze alone or in - any derivative version prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on or - incorporates cx_Freeze or any part thereof, and wants to make the derivative - work available to others as provided herein, then Licensee hereby agrees to - include in any such work a brief summary of the changes made to cx_Freeze. - -4. The copyright holders are making cx_Freeze available to Licensee on an - "AS IS" basis. THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, - EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, THE COPYRIGHT - HOLDERS MAKE NO AND DISCLAIM ANY REPRESENTATION OR WARRANTY OF - MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF - CX_FREEZE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. - -5. THE COPYRIGHT HOLDERS SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF - CX_FREEZE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS - A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING CX_FREEZE, OR ANY - DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material breach - of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any relationship - of agency, partnership, or joint venture between the copyright holders and - Licensee. This License Agreement does not grant permission to use - copyright holder's trademarks or trade name in a trademark sense to endorse - or promote products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using cx_Freeze, Licensee agrees to be - bound by the terms and conditions of this License Agreement. - -Computronix is a registered trademark of Computronix (Canada) Ltd. - diff --git a/setup/installer/cx_Freeze/MANIFEST.in b/setup/installer/cx_Freeze/MANIFEST.in deleted file mode 100644 index 2348a66973..0000000000 --- a/setup/installer/cx_Freeze/MANIFEST.in +++ /dev/null @@ -1,6 +0,0 @@ -include MANIFEST.in -include *.txt -recursive-include doc *.html -recursive-include initscripts *.py -recursive-include samples *.py -recursive-include source *.c *.rc diff --git a/setup/installer/cx_Freeze/PKG-INFO b/setup/installer/cx_Freeze/PKG-INFO deleted file mode 100644 index aa53b57914..0000000000 --- a/setup/installer/cx_Freeze/PKG-INFO +++ /dev/null @@ -1,22 +0,0 @@ -Metadata-Version: 1.0 -Name: cx_Freeze -Version: 4.0.1 -Summary: create standalone executables from Python scripts -Home-page: http://cx-freeze.sourceforge.net -Author: Anthony Tuininga -Author-email: anthony.tuininga@gmail.com -License: Python Software Foundation License -Description: create standalone executables from Python scripts -Keywords: freeze -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Python Software Foundation License -Classifier: Natural Language :: English -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: C -Classifier: Programming Language :: Python -Classifier: Topic :: Software Development :: Build Tools -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: System :: Software Distribution -Classifier: Topic :: Utilities diff --git a/setup/installer/cx_Freeze/README.txt b/setup/installer/cx_Freeze/README.txt deleted file mode 100644 index 1ac67dc749..0000000000 --- a/setup/installer/cx_Freeze/README.txt +++ /dev/null @@ -1,12 +0,0 @@ -Please see cx_Freeze.html for documentation on how to use cx_Freeze. - -To build: - -python setup.py build -python setup.py install - -On Windows I have used the MinGW compiler (http://www.mingw.org) - -python setup.py build --compiler=mingw32 -python setup.py build --compiler=mingw32 install - diff --git a/setup/installer/cx_Freeze/cx_Freeze/__init__.py b/setup/installer/cx_Freeze/cx_Freeze/__init__.py deleted file mode 100644 index 545883eb3e..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -version = "4.0.1" - -import sys -from dist import * -if sys.platform == "win32" and sys.version_info[:2] >= (2, 5): - from windist import * -from finder import * -from freezer import * -from main import * - -del dist -del finder -del freezer - diff --git a/setup/installer/cx_Freeze/cx_Freeze/dist.py b/setup/installer/cx_Freeze/cx_Freeze/dist.py deleted file mode 100644 index c2af2ac623..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/dist.py +++ /dev/null @@ -1,279 +0,0 @@ -import distutils.command.bdist_rpm -import distutils.command.build -import distutils.command.install -import distutils.core -import distutils.dir_util -import distutils.dist -import distutils.util -import distutils.version -import os -import sys - -import cx_Freeze - -__all__ = [ "bdist_rpm", "build", "build_exe", "install", "install_exe", - "setup" ] - -class Distribution(distutils.dist.Distribution): - - def __init__(self, attrs): - self.executables = [] - distutils.dist.Distribution.__init__(self, attrs) - - -class bdist_rpm(distutils.command.bdist_rpm.bdist_rpm): - - def finalize_options(self): - distutils.command.bdist_rpm.bdist_rpm.finalize_options(self) - self.use_rpm_opt_flags = 1 - - def _make_spec_file(self): - contents = distutils.command.bdist_rpm.bdist_rpm._make_spec_file(self) - return [c for c in contents if c != 'BuildArch: noarch'] - - -class build(distutils.command.build.build): - user_options = distutils.command.build.build.user_options + [ - ('build-exe=', None, 'build directory for executables') - ] - - def get_sub_commands(self): - subCommands = distutils.command.build.build.get_sub_commands(self) - if self.distribution.executables: - subCommands.append("build_exe") - return subCommands - - def initialize_options(self): - distutils.command.build.build.initialize_options(self) - self.build_exe = None - - def finalize_options(self): - distutils.command.build.build.finalize_options(self) - if self.build_exe is None: - dirName = "exe.%s-%s" % \ - (distutils.util.get_platform(), sys.version[0:3]) - self.build_exe = os.path.join(self.build_base, dirName) - - -class build_exe(distutils.core.Command): - description = "build executables from Python scripts" - user_options = [ - ('build-exe=', 'b', - 'directory for built executables'), - ('optimize=', 'O', - 'optimization level: -O1 for "python -O", ' - '-O2 for "python -OO" and -O0 to disable [default: -O0]'), - ('excludes=', 'e', - 'comma-separated list of modules to exclude'), - ('includes=', 'i', - 'comma-separated list of modules to include'), - ('packages=', 'p', - 'comma-separated list of packages to include'), - ('replace-paths=', None, - 'comma-separated list of paths to replace in included modules'), - ('path=', None, - 'comma-separated list of paths to search'), - ('init-script=', 'i', - 'name of script to use during initialization'), - ('base=', None, - 'name of base executable to use'), - ('compressed', 'c', - 'create a compressed zipfile'), - ('copy-dependent-files', None, - 'copy all dependent files'), - ('create-shared-zip', None, - 'create a shared zip file containing shared modules'), - ('append-script-to-exe', None, - 'append the script module to the exe'), - ('include-in-shared-zip', None, - 'include the script module in the shared zip file'), - ('icon', None, - 'include the icon along with the frozen executable(s)'), - ('constants=', None, - 'comma-separated list of constants to include'), - ('include-files=', 'f', - 'list of tuples of additional files to include in distribution'), - ('bin-includes', None, - 'list of names of files to include when determining dependencies'), - ('bin-excludes', None, - 'list of names of files to exclude when determining dependencies') - ] - boolean_options = ["compressed", "copy_dependent_files", - "create_shared_zip", "append_script_to_exe", - "include_in_shared_zip"] - - def _normalize(self, attrName): - value = getattr(self, attrName) - if value is None: - normalizedValue = [] - elif isinstance(value, basestring): - normalizedValue = value.split() - else: - normalizedValue = list(value) - setattr(self, attrName, normalizedValue) - - def initialize_options(self): - self.optimize = 0 - self.build_exe = None - self.excludes = [] - self.includes = [] - self.packages = [] - self.replace_paths = [] - self.compressed = None - self.copy_dependent_files = None - self.init_script = None - self.base = None - self.path = None - self.create_shared_zip = None - self.append_script_to_exe = None - self.include_in_shared_zip = None - self.icon = None - self.constants = [] - self.include_files = [] - self.bin_excludes = [] - self.bin_includes = [] - - def finalize_options(self): - self.set_undefined_options('build', ('build_exe', 'build_exe')) - self.optimize = int(self.optimize) - self._normalize("excludes") - self._normalize("includes") - self._normalize("packages") - self._normalize("constants") - - def run(self): - metadata = self.distribution.metadata - constantsModule = cx_Freeze.ConstantsModule(metadata.version) - for constant in self.constants: - parts = constant.split("=") - if len(parts) == 1: - name = constant - value = None - else: - name, stringValue = parts - value = eval(stringValue) - constantsModule.values[name] = value - freezer = cx_Freeze.Freezer(self.distribution.executables, - [constantsModule], self.includes, self.excludes, self.packages, - self.replace_paths, self.compressed, self.optimize, - self.copy_dependent_files, self.init_script, self.base, - self.path, self.create_shared_zip, self.append_script_to_exe, - self.include_in_shared_zip, self.build_exe, icon = self.icon, - includeFiles = self.include_files, - binIncludes = self.bin_includes, - binExcludes = self.bin_excludes) - freezer.Freeze() - - -class install(distutils.command.install.install): - user_options = distutils.command.install.install.user_options + [ - ('install-exe=', None, - 'installation directory for executables') - ] - - def expand_dirs(self): - distutils.command.install.install.expand_dirs(self) - self._expand_attrs(['install_exe']) - - def get_sub_commands(self): - subCommands = distutils.command.install.install.get_sub_commands(self) - if self.distribution.executables: - subCommands.append("install_exe") - return [s for s in subCommands if s != "install_egg_info"] - - def initialize_options(self): - distutils.command.install.install.initialize_options(self) - self.install_exe = None - - def finalize_options(self): - if self.prefix is None and sys.platform == "win32": - import _winreg - key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, - r"Software\Microsoft\Windows\CurrentVersion") - prefix = str(_winreg.QueryValueEx(key, "ProgramFilesDir")[0]) - metadata = self.distribution.metadata - dirName = "%s-%s" % (metadata.name, metadata.version) - self.prefix = "%s/%s" % (prefix, dirName) - distutils.command.install.install.finalize_options(self) - self.convert_paths('exe') - if self.root is not None: - self.change_roots('exe') - - def select_scheme(self, name): - distutils.command.install.install.select_scheme(self, name) - if self.install_exe is None: - if sys.platform == "win32": - self.install_exe = '$base' - else: - metadata = self.distribution.metadata - dirName = "%s-%s" % (metadata.name, metadata.version) - self.install_exe = '$base/lib/%s' % dirName - - -class install_exe(distutils.core.Command): - description = "install executables built from Python scripts" - user_options = [ - ('install-dir=', 'd', 'directory to install executables to'), - ('build-dir=', 'b', 'build directory (where to install from)'), - ('force', 'f', 'force installation (overwrite existing files)'), - ('skip-build', None, 'skip the build steps') - ] - - def initialize_options(self): - self.install_dir = None - self.force = 0 - self.build_dir = None - self.skip_build = None - - def finalize_options(self): - self.set_undefined_options('build', ('build_exe', 'build_dir')) - self.set_undefined_options('install', - ('install_exe', 'install_dir'), - ('force', 'force'), - ('skip_build', 'skip_build')) - - def run(self): - if not self.skip_build: - self.run_command('build_exe') - self.outfiles = self.copy_tree(self.build_dir, self.install_dir) - if sys.platform != "win32": - baseDir = os.path.dirname(os.path.dirname(self.install_dir)) - binDir = os.path.join(baseDir, "bin") - if not os.path.exists(binDir): - os.makedirs(binDir) - sourceDir = os.path.join("..", self.install_dir[len(baseDir) + 1:]) - for executable in self.distribution.executables: - name = os.path.basename(executable.targetName) - source = os.path.join(sourceDir, name) - target = os.path.join(binDir, name) - if os.path.exists(target): - os.unlink(target) - os.symlink(source, target) - self.outfiles.append(target) - - def get_inputs(self): - return self.distribution.executables or [] - - def get_outputs(self): - return self.outfiles or [] - - -def _AddCommandClass(commandClasses, name, cls): - if name not in commandClasses: - commandClasses[name] = cls - - -def setup(**attrs): - attrs["distclass"] = Distribution - commandClasses = attrs.setdefault("cmdclass", {}) - if sys.platform == "win32": - if sys.version_info[:2] >= (2, 5): - _AddCommandClass(commandClasses, "bdist_msi", cx_Freeze.bdist_msi) - else: - _AddCommandClass(commandClasses, "bdist_rpm", cx_Freeze.bdist_rpm) - _AddCommandClass(commandClasses, "build", build) - _AddCommandClass(commandClasses, "build_exe", build_exe) - _AddCommandClass(commandClasses, "install", install) - _AddCommandClass(commandClasses, "install_exe", install_exe) - distutils.core.setup(**attrs) - diff --git a/setup/installer/cx_Freeze/cx_Freeze/finder.py b/setup/installer/cx_Freeze/cx_Freeze/finder.py deleted file mode 100644 index f815db97be..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/finder.py +++ /dev/null @@ -1,455 +0,0 @@ -""" -Base class for finding modules. -""" - -import dis -import imp -import marshal -import new -import opcode -import os -import sys -import zipfile - -import cx_Freeze.hooks - -BUILD_LIST = opcode.opmap["BUILD_LIST"] -INPLACE_ADD = opcode.opmap["INPLACE_ADD"] -LOAD_CONST = opcode.opmap["LOAD_CONST"] -IMPORT_NAME = opcode.opmap["IMPORT_NAME"] -IMPORT_FROM = opcode.opmap["IMPORT_FROM"] -STORE_NAME = opcode.opmap["STORE_NAME"] -STORE_GLOBAL = opcode.opmap["STORE_GLOBAL"] -STORE_OPS = (STORE_NAME, STORE_GLOBAL) - -__all__ = [ "Module", "ModuleFinder" ] - -class ModuleFinder(object): - - def __init__(self, includeFiles, excludes, path, replacePaths): - self.includeFiles = includeFiles - self.excludes = dict.fromkeys(excludes) - self.replacePaths = replacePaths - self.path = path or sys.path - self.modules = [] - self.aliases = {} - self._modules = dict.fromkeys(excludes) - self._builtinModules = dict.fromkeys(sys.builtin_module_names) - self._badModules = {} - self._zipFileEntries = {} - self._zipFiles = {} - cx_Freeze.hooks.initialize(self) - - def _AddModule(self, name): - """Add a module to the list of modules but if one is already found, - then return it instead; this is done so that packages can be - handled properly.""" - module = self._modules.get(name) - if module is None: - module = self._modules[name] = Module(name) - self.modules.append(module) - if name in self._badModules: - del self._badModules[name] - return module - - def _DetermineParent(self, caller): - """Determine the parent to use when searching packages.""" - if caller is not None: - if caller.path is not None: - return caller - return self._GetParentByName(caller.name) - - def _EnsureFromList(self, caller, packageModule, fromList, - deferredImports): - """Ensure that the from list is satisfied. This is only necessary for - package modules. If the caller is the package itself, actually - attempt to import right then since it must be a submodule; otherwise - defer until after all global names are defined in order to avoid - spurious complaints about missing modules.""" - if caller is not packageModule: - deferredImports.append((packageModule, fromList)) - else: - if fromList == ("*",): - fromList = packageModule.allNames - for name in fromList: - if name in packageModule.globalNames: - continue - subModuleName = "%s.%s" % (packageModule.name, name) - self._ImportModule(subModuleName, deferredImports, caller) - - def _FindModule(self, name, path): - try: - return imp.find_module(name, path) - except ImportError: - if not path: - path = [] - for location in path: - if name in self._zipFileEntries: - break - if location in self._zipFiles: - continue - if os.path.isdir(location) or not zipfile.is_zipfile(location): - self._zipFiles[location] = None - continue - zip = zipfile.ZipFile(location) - for archiveName in zip.namelist(): - baseName, ext = os.path.splitext(archiveName) - if ext not in ('.pyc', '.pyo'): - continue - moduleName = ".".join(baseName.split("/")) - if moduleName in self._zipFileEntries: - continue - self._zipFileEntries[moduleName] = (zip, archiveName) - self._zipFiles[location] = None - info = self._zipFileEntries.get(name) - if info is not None: - zip, archiveName = info - fp = zip.read(archiveName) - info = (".pyc", "rb", imp.PY_COMPILED) - return fp, os.path.join(zip.filename, archiveName), info - raise - - def _GetParentByName(self, name): - """Return the parent module given the name of a module.""" - pos = name.rfind(".") - if pos > 0: - parentName = name[:pos] - return self._modules[parentName] - - def _ImportAllSubModules(self, module, deferredImports, recursive = True): - """Import all sub modules to the given package.""" - suffixes = dict.fromkeys([s[0] for s in imp.get_suffixes()]) - for dir in module.path: - try: - fileNames = os.listdir(dir) - except os.error: - continue - for fileName in fileNames: - name, ext = os.path.splitext(fileName) - if ext not in suffixes: - continue - if name == "__init__": - continue - subModuleName = "%s.%s" % (module.name, name) - subModule, returnError = \ - self._InternalImportModule(subModuleName, - deferredImports) - if returnError and subModule is None: - raise ImportError, "No module named %s" % subModuleName - module.globalNames[name] = None - if subModule.path and recursive: - self._ImportAllSubModules(subModule, deferredImports, - recursive) - - def _ImportDeferredImports(self, deferredImports): - """Import any sub modules that were deferred, if applicable.""" - while deferredImports: - newDeferredImports = [] - for packageModule, subModuleNames in deferredImports: - self._EnsureFromList(packageModule, packageModule, - subModuleNames, newDeferredImports) - deferredImports = newDeferredImports - - def _ImportModule(self, name, deferredImports, caller = None, - relativeImportIndex = 0): - """Attempt to find the named module and return it or None if no module - by that name could be found.""" - - # absolute import (available in Python 2.5 and up) - # the name given is the only name that will be searched - if relativeImportIndex == 0: - module, returnError = self._InternalImportModule(name, - deferredImports) - - # old style relative import (only possibility in Python 2.4 and prior) - # the name given is tried in all parents until a match is found and if - # no match is found, the global namespace is searched - elif relativeImportIndex < 0: - parent = self._DetermineParent(caller) - while parent is not None: - fullName = "%s.%s" % (parent.name, name) - module, returnError = self._InternalImportModule(fullName, - deferredImports) - if module is not None: - parent.globalNames[name] = None - return module - parent = self._GetParentByName(parent.name) - module, returnError = self._InternalImportModule(name, - deferredImports) - - # new style relative import (available in Python 2.5 and up) - # the index indicates how many levels to traverse and only that level - # is searched for the named module - elif relativeImportIndex > 0: - parent = caller - if parent.path is not None: - relativeImportIndex -= 1 - while parent is not None and relativeImportIndex > 0: - parent = self._GetParentByName(parent.name) - relativeImportIndex -= 1 - if parent is None: - module = None - returnError = True - elif not name: - module = parent - else: - name = "%s.%s" % (parent.name, name) - module, returnError = self._InternalImportModule(name, - deferredImports) - - # if module not found, track that fact - if module is None: - if caller is None: - raise ImportError, "No module named %s" % name - self._RunHook("missing", name, caller) - if returnError and name not in caller.ignoreNames: - callers = self._badModules.setdefault(name, {}) - callers[caller.name] = None - - return module - - def _InternalImportModule(self, name, deferredImports): - """Internal method used for importing a module which assumes that the - name given is an absolute name. None is returned if the module - cannot be found.""" - try: - return self._modules[name], False - except KeyError: - pass - if name in self._builtinModules: - module = self._AddModule(name) - self._RunHook("load", module.name, module) - return module, False - pos = name.rfind(".") - if pos < 0: - path = self.path - searchName = name - parentModule = None - else: - parentName = name[:pos] - parentModule, returnError = \ - self._InternalImportModule(parentName, deferredImports) - if parentModule is None: - return None, returnError - path = parentModule.path - searchName = name[pos + 1:] - if name in self.aliases: - actualName = self.aliases[name] - module, returnError = \ - self._InternalImportModule(actualName, deferredImports) - self._modules[name] = module - return module, returnError - try: - fp, path, info = self._FindModule(searchName, path) - except ImportError: - self._modules[name] = None - return None, True - module = self._LoadModule(name, fp, path, info, deferredImports, - parentModule) - return module, False - - def _LoadModule(self, name, fp, path, info, deferredImports, - parent = None): - """Load the module, given the information acquired by the finder.""" - suffix, mode, type = info - if type == imp.PKG_DIRECTORY: - return self._LoadPackage(name, path, parent, deferredImports) - module = self._AddModule(name) - module.file = path - module.parent = parent - if type == imp.PY_SOURCE: - module.code = compile(fp.read() + "\n", path, "exec") - elif type == imp.PY_COMPILED: - if isinstance(fp, str): - magic = fp[:4] - else: - magic = fp.read(4) - if magic != imp.get_magic(): - raise ImportError, "Bad magic number in %s" % path - if isinstance(fp, str): - module.code = marshal.loads(fp[8:]) - module.inZipFile = True - else: - fp.read(4) - module.code = marshal.load(fp) - self._RunHook("load", module.name, module) - if module.code is not None: - if self.replacePaths: - topLevelModule = module - while topLevelModule.parent is not None: - topLevelModule = topLevelModule.parent - module.code = self._ReplacePathsInCode(topLevelModule, - module.code) - self._ScanCode(module.code, module, deferredImports) - return module - - def _LoadPackage(self, name, path, parent, deferredImports): - """Load the package, given its name and path.""" - module = self._AddModule(name) - module.path = [path] - fp, path, info = imp.find_module("__init__", module.path) - self._LoadModule(name, fp, path, info, deferredImports, parent) - return module - - def _ReplacePathsInCode(self, topLevelModule, co): - """Replace paths in the code as directed, returning a new code object - with the modified paths in place.""" - origFileName = newFileName = os.path.normpath(co.co_filename) - for searchValue, replaceValue in self.replacePaths: - if searchValue == "*": - searchValue = os.path.dirname(topLevelModule.file) - if topLevelModule.path: - searchValue = os.path.dirname(searchValue) - if searchValue: - searchValue = searchValue + os.pathsep - elif not origFileName.startswith(searchValue): - continue - newFileName = replaceValue + origFileName[len(searchValue):] - break - constants = list(co.co_consts) - for i, value in enumerate(constants): - if isinstance(value, type(co)): - constants[i] = self._ReplacePathsInCode(topLevelModule, value) - return new.code(co.co_argcount, co.co_nlocals, co.co_stacksize, - co.co_flags, co.co_code, tuple(constants), co.co_names, - co.co_varnames, newFileName, co.co_name, co.co_firstlineno, - co.co_lnotab, co.co_freevars, co.co_cellvars) - - def _RunHook(self, hookName, moduleName, *args): - """Run hook for the given module if one is present.""" - name = "%s_%s" % (hookName, moduleName.replace(".", "_")) - method = getattr(cx_Freeze.hooks, name, None) - if method is not None: - method(self, *args) - - def _ScanCode(self, co, module, deferredImports): - """Scan code, looking for imported modules and keeping track of the - constants that have been created in order to better tell which - modules are truly missing.""" - opIndex = 0 - arguments = [] - code = co.co_code - numOps = len(code) - while opIndex < numOps: - op = ord(code[opIndex]) - opIndex += 1 - if op >= dis.HAVE_ARGUMENT: - opArg = ord(code[opIndex]) + ord(code[opIndex + 1]) * 256 - opIndex += 2 - if op == LOAD_CONST: - arguments.append(co.co_consts[opArg]) - elif op == IMPORT_NAME: - name = co.co_names[opArg] - if len(arguments) == 2: - relativeImportIndex, fromList = arguments - else: - relativeImportIndex = -1 - fromList, = arguments - if name not in module.excludeNames: - subModule = self._ImportModule(name, deferredImports, - module, relativeImportIndex) - if subModule is not None: - module.globalNames.update(subModule.globalNames) - if fromList and subModule.path is not None: - self._EnsureFromList(module, subModule, fromList, - deferredImports) - elif op == IMPORT_FROM: - opIndex += 3 - elif op not in (BUILD_LIST, INPLACE_ADD): - if op in STORE_OPS: - name = co.co_names[opArg] - if name == "__all__": - module.allNames.extend(arguments) - module.globalNames[name] = None - arguments = [] - for constant in co.co_consts: - if isinstance(constant, type(co)): - self._ScanCode(constant, module, deferredImports) - - def AddAlias(self, name, aliasFor): - """Add an alias for a particular module; when an attempt is made to - import a module using the alias name, import the actual name - instead.""" - self.aliases[name] = aliasFor - - def ExcludeModule(self, name): - """Exclude the named module from the resulting frozen executable.""" - self.excludes[name] = None - self._modules[name] = None - - def IncludeFile(self, path, moduleName = None): - """Include the named file as a module in the frozen executable.""" - name, ext = os.path.splitext(os.path.basename(path)) - if moduleName is None: - moduleName = name - info = (ext, "r", imp.PY_SOURCE) - deferredImports = [] - module = self._LoadModule(moduleName, file(path, "U"), path, info, - deferredImports) - self._ImportDeferredImports(deferredImports) - return module - - def IncludeFiles(self, sourcePath, targetPath): - """Include the files in the given directory in the target build.""" - self.includeFiles.append((sourcePath, targetPath)) - - def IncludeModule(self, name): - """Include the named module in the frozen executable.""" - deferredImports = [] - module = self._ImportModule(name, deferredImports) - self._ImportDeferredImports(deferredImports) - return module - - def IncludePackage(self, name): - """Include the named package and any submodules in the frozen - executable.""" - deferredImports = [] - module = self._ImportModule(name, deferredImports) - if module.path: - self._ImportAllSubModules(module, deferredImports) - self._ImportDeferredImports(deferredImports) - return module - - def ReportMissingModules(self): - if self._badModules: - print "Missing modules:" - names = self._badModules.keys() - names.sort() - for name in names: - callers = self._badModules[name].keys() - callers.sort() - print "?", name, "imported from", ", ".join(callers) - print - - -class Module(object): - - def __init__(self, name): - self.name = name - self.file = None - self.path = None - self.code = None - self.parent = None - self.globalNames = {} - self.excludeNames = {} - self.ignoreNames = {} - self.allNames = [] - self.inZipFile = False - - def __repr__(self): - parts = ["name=%s" % repr(self.name)] - if self.file is not None: - parts.append("file=%s" % repr(self.file)) - if self.path is not None: - parts.append("path=%s" % repr(self.path)) - return "" % ", ".join(parts) - - def AddGlobalName(self, name): - self.globalNames[name] = None - - def ExcludeName(self, name): - self.excludeNames[name] = None - - def IgnoreName(self, name): - self.ignoreNames[name] = None - diff --git a/setup/installer/cx_Freeze/cx_Freeze/freezer.py b/setup/installer/cx_Freeze/cx_Freeze/freezer.py deleted file mode 100644 index e0739e8a4e..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/freezer.py +++ /dev/null @@ -1,550 +0,0 @@ -""" -Base class for freezing scripts into executables. -""" - -import datetime -import distutils.sysconfig -import imp -import marshal -import os -import shutil -import socket -import stat -import struct -import sys -import time -import zipfile - -import cx_Freeze -import cx_Freeze.util - -__all__ = [ "ConfigError", "ConstantsModule", "Executable", "Freezer" ] - -if sys.platform == "win32": - pythonDll = "python%s%s.dll" % sys.version_info[:2] - GLOBAL_BIN_PATH_EXCLUDES = [cx_Freeze.util.GetSystemDir()] - GLOBAL_BIN_INCLUDES = [ - pythonDll, - "gdiplus.dll", - "mfc71.dll", - "msvcp71.dll", - "msvcr71.dll" - ] - GLOBAL_BIN_EXCLUDES = [ - "comctl32.dll", - "oci.dll", - "cx_Logging.pyd" - ] -else: - extension = distutils.sysconfig.get_config_var("SO") - pythonSharedLib = "libpython%s.%s%s" % \ - (sys.version_info[:2] + (extension,)) - GLOBAL_BIN_INCLUDES = [pythonSharedLib] - GLOBAL_BIN_EXCLUDES = [ - "libclntsh.so", - "libwtc9.so" - ] - GLOBAL_BIN_PATH_EXCLUDES = ["/lib", "/lib32", "/lib64", "/usr/lib", - "/usr/lib32", "/usr/lib64"] - - -# NOTE: the try: except: block in this code is not necessary under Python 2.4 -# and higher and can be removed once support for Python 2.3 is no longer needed -EXTENSION_LOADER_SOURCE = \ -""" -import imp, os, sys - -found = False -for p in sys.path: - if not os.path.isdir(p): - continue - f = os.path.join(p, "%s") - if not os.path.exists(f): - continue - try: - m = imp.load_dynamic(__name__, f) - except ImportError: - del sys.modules[__name__] - raise - sys.modules[__name__] = m - found = True - break -if not found: - del sys.modules[__name__] - raise ImportError, "No module named %%s" %% __name__ -""" - - -class Freezer(object): - - def __init__(self, executables, constantsModules = [], includes = [], - excludes = [], packages = [], replacePaths = [], compress = None, - optimizeFlag = 0, copyDependentFiles = None, initScript = None, - base = None, path = None, createLibraryZip = None, - appendScriptToExe = None, appendScriptToLibrary = None, - targetDir = None, binIncludes = [], binExcludes = [], - binPathIncludes = [], binPathExcludes = [], icon = None, - includeFiles = []): - self.executables = executables - self.constantsModules = constantsModules - self.includes = includes - self.excludes = excludes - self.packages = packages - self.replacePaths = replacePaths - self.compress = compress - self.optimizeFlag = optimizeFlag - self.copyDependentFiles = copyDependentFiles - self.initScript = initScript - self.base = base - self.path = path - self.createLibraryZip = createLibraryZip - self.appendScriptToExe = appendScriptToExe - self.appendScriptToLibrary = appendScriptToLibrary - self.targetDir = targetDir - self.binIncludes = [os.path.normcase(n) \ - for n in GLOBAL_BIN_INCLUDES + binIncludes] - self.binExcludes = [os.path.normcase(n) \ - for n in GLOBAL_BIN_EXCLUDES + binExcludes] - self.binPathIncludes = [os.path.normcase(n) for n in binPathIncludes] - self.binPathExcludes = [os.path.normcase(n) \ - for n in GLOBAL_BIN_PATH_EXCLUDES + binPathExcludes] - self.icon = icon - self.includeFiles = includeFiles - self._VerifyConfiguration() - - def _CopyFile(self, source, target, copyDependentFiles, - includeMode = False): - normalizedSource = os.path.normcase(os.path.normpath(source)) - normalizedTarget = os.path.normcase(os.path.normpath(target)) - if normalizedTarget in self.filesCopied: - return - if normalizedSource == normalizedTarget: - return - self._RemoveFile(target) - targetDir = os.path.dirname(target) - self._CreateDirectory(targetDir) - print "copying", source, "->", target - shutil.copyfile(source, target) - if includeMode: - shutil.copymode(source, target) - self.filesCopied[normalizedTarget] = None - if copyDependentFiles: - for source in self._GetDependentFiles(source): - target = os.path.join(targetDir, os.path.basename(source)) - self._CopyFile(source, target, copyDependentFiles) - - def _CreateDirectory(self, path): - if not os.path.isdir(path): - print "creating directory", path - os.makedirs(path) - - def _FreezeExecutable(self, exe): - if self.createLibraryZip: - finder = self.finder - else: - finder = self._GetModuleFinder(exe) - if exe.script is None: - scriptModule = None - else: - scriptModule = finder.IncludeFile(exe.script, exe.moduleName) - self._CopyFile(exe.base, exe.targetName, exe.copyDependentFiles, - includeMode = True) - if exe.icon is not None: - if sys.platform == "win32": - cx_Freeze.util.AddIcon(exe.targetName, exe.icon) - else: - targetName = os.path.join(os.path.dirname(exe.targetName), - os.path.basename(exe.icon)) - self._CopyFile(exe.icon, targetName, - copyDependentFiles = False) - if not os.access(exe.targetName, os.W_OK): - mode = os.stat(exe.targetName).st_mode - os.chmod(exe.targetName, mode | stat.S_IWUSR) - if not exe.appendScriptToLibrary: - if exe.appendScriptToExe: - fileName = exe.targetName - else: - baseFileName, ext = os.path.splitext(exe.targetName) - fileName = baseFileName + ".zip" - self._RemoveFile(fileName) - if not self.createLibraryZip and exe.copyDependentFiles: - scriptModule = None - self._WriteModules(fileName, exe.initScript, finder, exe.compress, - exe.copyDependentFiles, scriptModule) - - def _GetBaseFileName(self, argsSource = None): - if argsSource is None: - argsSource = self - name = argsSource.base - if name is None: - if argsSource.copyDependentFiles: - name = "Console" - else: - name = "ConsoleKeepPath" - argsSource.base = self._GetFileName("bases", name) - if argsSource.base is None: - raise ConfigError("no base named %s", name) - - def _GetDependentFiles(self, path): - dependentFiles = self.dependentFiles.get(path) - if dependentFiles is None: - if sys.platform == "win32": - origPath = os.environ["PATH"] - os.environ["PATH"] = origPath + os.pathsep + \ - os.pathsep.join(sys.path) - dependentFiles = cx_Freeze.util.GetDependentFiles(path) - os.environ["PATH"] = origPath - else: - dependentFiles = [] - for line in os.popen('ldd "%s"' % path): - parts = line.strip().split(" => ") - if len(parts) != 2: - continue - dependentFile = parts[1] - if dependentFile == "not found": - print "WARNING: cannot find", parts[0] - continue - pos = dependentFile.find(" (") - if pos >= 0: - dependentFile = dependentFile[:pos].strip() - if dependentFile: - dependentFiles.append(dependentFile) - dependentFiles = self.dependentFiles[path] = \ - [f for f in dependentFiles if self._ShouldCopyFile(f)] - return dependentFiles - - def _GetFileName(self, dir, name): - if os.path.isabs(name): - return name - name = os.path.normcase(name) - fullDir = os.path.join(os.path.dirname(cx_Freeze.__file__), dir) - if os.path.isdir(fullDir): - for fileName in os.listdir(fullDir): - if name == os.path.splitext(os.path.normcase(fileName))[0]: - return os.path.join(fullDir, fileName) - - def _GetInitScriptFileName(self, argsSource = None): - if argsSource is None: - argsSource = self - name = argsSource.initScript - if name is None: - if argsSource.copyDependentFiles: - name = "Console" - else: - name = "ConsoleKeepPath" - argsSource.initScript = self._GetFileName("initscripts", name) - if argsSource.initScript is None: - raise ConfigError("no initscript named %s", name) - - def _GetModuleFinder(self, argsSource = None): - if argsSource is None: - argsSource = self - finder = cx_Freeze.ModuleFinder(self.includeFiles, argsSource.excludes, - argsSource.path, argsSource.replacePaths) - if argsSource.copyDependentFiles: - finder.IncludeModule("imp") - finder.IncludeModule("os") - finder.IncludeModule("sys") - if argsSource.compress: - finder.IncludeModule("zlib") - for name in argsSource.includes: - finder.IncludeModule(name) - for name in argsSource.packages: - finder.IncludePackage(name) - return finder - - def _PrintReport(self, fileName, modules): - print "writing zip file", fileName - print - print " %-25s %s" % ("Name", "File") - print " %-25s %s" % ("----", "----") - for module in modules: - if module.path: - print "P", - else: - print "m", - print "%-25s" % module.name, module.file or "" - print - - def _RemoveFile(self, path): - if os.path.exists(path): - os.chmod(path, 0777) - os.remove(path) - - def _ShouldCopyFile(self, path): - dir, name = os.path.split(os.path.normcase(path)) - parts = name.split(".") - tweaked = False - while True: - if not parts[-1].isdigit(): - break - parts.pop(-1) - tweaked = True - if tweaked: - name = ".".join(parts) - if name in self.binIncludes: - return True - if name in self.binExcludes: - return False - for path in self.binPathIncludes: - if dir.startswith(path): - return True - for path in self.binPathExcludes: - if dir.startswith(path): - return False - return True - - def _VerifyCanAppendToLibrary(self): - if not self.createLibraryZip: - raise ConfigError("script cannot be appended to library zip if " - "one is not being created") - - def _VerifyConfiguration(self): - if self.compress is None: - self.compress = True - if self.copyDependentFiles is None: - self.copyDependentFiles = True - if self.createLibraryZip is None: - self.createLibraryZip = True - if self.appendScriptToExe is None: - self.appendScriptToExe = False - if self.appendScriptToLibrary is None: - self.appendScriptToLibrary = \ - self.createLibraryZip and not self.appendScriptToExe - if self.targetDir is None: - self.targetDir = os.path.abspath("dist") - self._GetInitScriptFileName() - self._GetBaseFileName() - if self.path is None: - self.path = sys.path - if self.appendScriptToLibrary: - self._VerifyCanAppendToLibrary() - for sourceFileName, targetFileName in self.includeFiles: - if not os.path.exists(sourceFileName): - raise ConfigError("cannot find file/directory named %s", - sourceFileName) - if os.path.isabs(targetFileName): - raise ConfigError("target file/directory cannot be absolute") - for executable in self.executables: - executable._VerifyConfiguration(self) - - def _WriteModules(self, fileName, initScript, finder, compress, - copyDependentFiles, scriptModule = None): - initModule = finder.IncludeFile(initScript, "cx_Freeze__init__") - if scriptModule is None: - for module in self.constantsModules: - module.Create(finder) - modules = [m for m in finder.modules \ - if m.name not in self.excludeModules] - else: - modules = [initModule, scriptModule] - self.excludeModules[initModule.name] = None - self.excludeModules[scriptModule.name] = None - itemsToSort = [(m.name, m) for m in modules] - itemsToSort.sort() - modules = [m for n, m in itemsToSort] - self._PrintReport(fileName, modules) - if scriptModule is None: - finder.ReportMissingModules() - targetDir = os.path.dirname(fileName) - self._CreateDirectory(targetDir) - filesToCopy = [] - if os.path.exists(fileName): - mode = "a" - else: - mode = "w" - outFile = zipfile.PyZipFile(fileName, mode, zipfile.ZIP_DEFLATED) - for module in modules: - if module.code is None and module.file is not None: - fileName = os.path.basename(module.file) - baseFileName, ext = os.path.splitext(fileName) - if baseFileName != module.name and module.name != "zlib": - if "." in module.name: - fileName = module.name + ext - generatedFileName = "ExtensionLoader_%s.py" % \ - module.name.replace(".", "_") - module.code = compile(EXTENSION_LOADER_SOURCE % fileName, - generatedFileName, "exec") - target = os.path.join(targetDir, fileName) - filesToCopy.append((module, target)) - if module.code is None: - continue - fileName = "/".join(module.name.split(".")) - if module.path: - fileName += "/__init__" - if module.file is not None and os.path.exists(module.file): - mtime = os.stat(module.file).st_mtime - else: - mtime = time.time() - zipTime = time.localtime(mtime)[:6] - data = imp.get_magic() + struct.pack("" % self.script - - def _VerifyConfiguration(self, freezer): - if self.path is None: - self.path = freezer.path - if self.targetDir is None: - self.targetDir = freezer.targetDir - if self.includes is None: - self.includes = freezer.includes - if self.excludes is None: - self.excludes = freezer.excludes - if self.packages is None: - self.packages = freezer.packages - if self.replacePaths is None: - self.replacePaths = freezer.replacePaths - if self.compress is None: - self.compress = freezer.compress - if self.copyDependentFiles is None: - self.copyDependentFiles = freezer.copyDependentFiles - if self.appendScriptToExe is None: - self.appendScriptToExe = freezer.appendScriptToExe - if self.appendScriptToLibrary is None: - self.appendScriptToLibrary = freezer.appendScriptToLibrary - if self.initScript is None: - self.initScript = freezer.initScript - else: - freezer._GetInitScriptFileName(self) - if self.base is None: - self.base = freezer.base - else: - freezer._GetBaseFileName(self) - if self.appendScriptToLibrary: - freezer._VerifyCanAppendToLibrary() - if self.icon is None: - self.icon = freezer.icon - if self.script is not None: - name, ext = os.path.splitext(os.path.basename(self.script)) - if self.appendScriptToLibrary: - self.moduleName = "%s__main__" % os.path.normcase(name) - else: - self.moduleName = "__main__" - if self.targetName is None: - baseName, ext = os.path.splitext(self.base) - self.targetName = name + ext - self.targetName = os.path.join(self.targetDir, self.targetName) - - -class ConstantsModule(object): - - def __init__(self, releaseString = None, copyright = None, - moduleName = "BUILD_CONSTANTS", timeFormat = "%B %d, %Y %H:%M:%S"): - self.moduleName = moduleName - self.timeFormat = timeFormat - self.values = {} - self.values["BUILD_RELEASE_STRING"] = releaseString - self.values["BUILD_COPYRIGHT"] = copyright - - def Create(self, finder): - """Create the module which consists of declaration statements for each - of the values.""" - today = datetime.datetime.today() - sourceTimestamp = 0 - for module in finder.modules: - if module.file is None: - continue - if module.inZipFile: - continue - if not os.path.exists(module.file): - raise ConfigError("no file named %s", module.file) - timestamp = os.stat(module.file).st_mtime - sourceTimestamp = max(sourceTimestamp, timestamp) - sourceTimestamp = datetime.datetime.fromtimestamp(sourceTimestamp) - self.values["BUILD_TIMESTAMP"] = today.strftime(self.timeFormat) - self.values["BUILD_HOST"] = socket.gethostname().split(".")[0] - self.values["SOURCE_TIMESTAMP"] = \ - sourceTimestamp.strftime(self.timeFormat) - module = finder._AddModule(self.moduleName) - sourceParts = [] - names = self.values.keys() - names.sort() - for name in names: - value = self.values[name] - sourceParts.append("%s = %r" % (name, value)) - source = "\n".join(sourceParts) - module.code = compile(source, "%s.py" % self.moduleName, "exec") - diff --git a/setup/installer/cx_Freeze/cx_Freeze/hooks.py b/setup/installer/cx_Freeze/cx_Freeze/hooks.py deleted file mode 100644 index edc2f78788..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/hooks.py +++ /dev/null @@ -1,281 +0,0 @@ -import os -import sys - -def initialize(finder): - """upon initialization of the finder, this routine is called to set up some - automatic exclusions for various platforms.""" - finder.ExcludeModule("FCNTL") - finder.ExcludeModule("os.path") - if os.name == "nt": - finder.ExcludeModule("fcntl") - finder.ExcludeModule("grp") - finder.ExcludeModule("pwd") - finder.ExcludeModule("termios") - else: - finder.ExcludeModule("_winreg") - finder.ExcludeModule("msilib") - finder.ExcludeModule("msvcrt") - finder.ExcludeModule("nt") - if os.name not in ("os2", "ce"): - finder.ExcludeModule("ntpath") - finder.ExcludeModule("nturl2path") - finder.ExcludeModule("pythoncom") - finder.ExcludeModule("pywintypes") - finder.ExcludeModule("winerror") - finder.ExcludeModule("winsound") - finder.ExcludeModule("win32api") - finder.ExcludeModule("win32con") - finder.ExcludeModule("win32event") - finder.ExcludeModule("win32file") - finder.ExcludeModule("win32pdh") - finder.ExcludeModule("win32pipe") - finder.ExcludeModule("win32process") - finder.ExcludeModule("win32security") - finder.ExcludeModule("win32service") - finder.ExcludeModule("wx.activex") - if os.name != "posix": - finder.ExcludeModule("posix") - if os.name != "mac": - finder.ExcludeModule("Carbon") - finder.ExcludeModule("gestalt") - finder.ExcludeModule("ic") - finder.ExcludeModule("mac") - finder.ExcludeModule("MacOS") - finder.ExcludeModule("macpath") - finder.ExcludeModule("macurl2path") - if os.name != "nt": - finder.ExcludeModule("EasyDialogs") - if os.name != "os2": - finder.ExcludeModule("os2") - finder.ExcludeModule("os2emxpath") - finder.ExcludeModule("_emx_link") - if os.name != "ce": - finder.ExcludeModule("ce") - if os.name != "riscos": - finder.ExcludeModule("riscos") - finder.ExcludeModule("riscosenviron") - finder.ExcludeModule("riscospath") - finder.ExcludeModule("rourl2path") - if sys.platform[:4] != "java": - finder.ExcludeModule("java.lang") - finder.ExcludeModule("org.python.core") - - -def load_cElementTree(finder, module): - """the cElementTree module implicitly loads the elementtree.ElementTree - module; make sure this happens.""" - finder.IncludeModule("elementtree.ElementTree") - - -def load_ceODBC(finder, module): - """the ceODBC module implicitly imports both datetime and decimal; make - sure this happens.""" - finder.IncludeModule("datetime") - finder.IncludeModule("decimal") - - -def load_cx_Oracle(finder, module): - """the cx_Oracle module implicitly imports datetime; make sure this - happens.""" - finder.IncludeModule("datetime") - - -def load_docutils_frontend(finder, module): - """The optik module is the old name for the optparse module; ignore the - module if it cannot be found.""" - module.IgnoreName("optik") - - -def load_dummy_threading(finder, module): - """the dummy_threading module plays games with the name of the threading - module for its own purposes; ignore that here""" - finder.ExcludeModule("_dummy_threading") - - -def load_email(finder, module): - """the email package has a bunch of aliases as the submodule names were - all changed to lowercase in Python 2.5; mimic that here.""" - if sys.version_info[:2] >= (2, 5): - for name in ("Charset", "Encoders", "Errors", "FeedParser", - "Generator", "Header", "Iterators", "Message", "Parser", - "Utils", "base64MIME", "quopriMIME"): - finder.AddAlias("email.%s" % name, "email.%s" % name.lower()) - - -def load_ftplib(finder, module): - """the ftplib module attempts to import the SOCKS module; ignore this - module if it cannot be found""" - module.IgnoreName("SOCKS") - - -def load_matplotlib(finder, module): - """the matplotlib module requires data to be found in mpl-data in the - same directory as the frozen executable so oblige it""" - dir = os.path.join(module.path[0], "mpl-data") - finder.IncludeFiles(dir, "mpl-data") - - -def load_matplotlib_numerix(finder, module): - """the numpy.numerix module loads a number of modules dynamically""" - for name in ("ma", "fft", "linear_algebra", "random_array", "mlab"): - finder.IncludeModule("%s.%s" % (module.name, name)) - - -def load_numpy_linalg(finder, module): - """the numpy.linalg module implicitly loads the lapack_lite module; make - sure this happens""" - finder.IncludeModule("numpy.linalg.lapack_lite") - - -def load_pty(finder, module): - """The sgi module is not needed for this module to function.""" - module.IgnoreName("sgi") - - -def load_pythoncom(finder, module): - """the pythoncom module is actually contained in a DLL but since those - cannot be loaded directly in Python 2.5 and higher a special module is - used to perform that task; simply use that technique directly to - determine the name of the DLL and ensure it is included as a normal - extension; also load the pywintypes module which is implicitly - loaded.""" - import pythoncom - module.file = pythoncom.__file__ - module.code = None - finder.IncludeModule("pywintypes") - - -def load_pywintypes(finder, module): - """the pywintypes module is actually contained in a DLL but since those - cannot be loaded directly in Python 2.5 and higher a special module is - used to perform that task; simply use that technique directly to - determine the name of the DLL and ensure it is included as a normal - extension.""" - import pywintypes - module.file = pywintypes.__file__ - module.code = None - - -def load_PyQt4_Qt(finder, module): - """the PyQt4.Qt module is an extension module which imports a number of - other modules and injects their namespace into its own. It seems a - foolish way of doing things but perhaps there is some hidden advantage - to this technique over pure Python; ignore the absence of some of - the modules since not every installation includes all of them.""" - finder.IncludeModule("PyQt4.QtCore") - finder.IncludeModule("PyQt4.QtGui") - finder.IncludeModule("sip") - for name in ("PyQt4.QtSvg", "PyQt4.Qsci", "PyQt4.QtAssistant", - "PyQt4.QtNetwork", "PyQt4.QtOpenGL", "PyQt4.QtScript", "PyQt4._qt", - "PyQt4.QtSql", "PyQt4.QtSvg", "PyQt4.QtTest", "PyQt4.QtXml"): - try: - finder.IncludeModule(name) - except ImportError: - pass - - -def load_Tkinter(finder, module): - """the Tkinter module has data files that are required to be loaded so - ensure that they are copied into the directory that is expected at - runtime.""" - import Tkinter - import _tkinter - tk = _tkinter.create() - tclDir = os.path.dirname(tk.call("info", "library")) - tclSourceDir = os.path.join(tclDir, "tcl%s" % _tkinter.TCL_VERSION) - tkSourceDir = os.path.join(tclDir, "tk%s" % _tkinter.TK_VERSION) - finder.IncludeFiles(tclSourceDir, "tcl") - finder.IncludeFiles(tkSourceDir, "tk") - - -def load_tempfile(finder, module): - """the tempfile module attempts to load the fcntl and thread modules but - continues if these modules cannot be found; ignore these modules if they - cannot be found.""" - module.IgnoreName("fcntl") - module.IgnoreName("thread") - - -def load_time(finder, module): - """the time module implicitly loads _strptime; make sure this happens.""" - finder.IncludeModule("_strptime") - - -def load_win32api(finder, module): - """the win32api module implicitly loads the pywintypes module; make sure - this happens.""" - finder.IncludeModule("pywintypes") - - -def load_win32com(finder, module): - """the win32com package manipulates its search path at runtime to include - the sibling directory called win32comext; simulate that by changing the - search path in a similar fashion here.""" - baseDir = os.path.dirname(os.path.dirname(module.file)) - module.path.append(os.path.join(baseDir, "win32comext")) - - -def load_win32file(finder, module): - """the win32api module implicitly loads the pywintypes module; make sure - this happens.""" - finder.IncludeModule("pywintypes") - - -def load_xml(finder, module): - """the builtin xml package attempts to load the _xmlplus module to see if - that module should take its role instead; ignore the failure to find - this module, though.""" - module.IgnoreName("_xmlplus") - - -def load_xml_etree_cElementTree(finder, module): - """the xml.etree.cElementTree module implicitly loads the - xml.etree.ElementTree module; make sure this happens.""" - finder.IncludeModule("xml.etree.ElementTree") - -def load_IPython(finder, module): - ipy = os.path.join(os.path.dirname(module.file), 'Extensions') - extensions = set([]) - for m in os.listdir(ipy): - extensions.add(os.path.splitext(m)[0]) - extensions.remove('__init__') - for m in extensions: - finder.IncludeModule('IPython.Extensions.'+m) - -def load_lxml(finder, module): - finder.IncludeModule('lxml._elementpath') - -def load_cherrypy(finder, module): - finder.IncludeModule('cherrypy.lib.encoding') - -def missing_cElementTree(finder, caller): - """the cElementTree has been incorporated into the standard library in - Python 2.5 so ignore its absence if it cannot found.""" - if sys.version_info[:2] >= (2, 5): - caller.IgnoreName("cElementTree") - - -def missing_EasyDialogs(finder, caller): - """the EasyDialogs module is not normally present on Windows but it also - may be so instead of excluding it completely, ignore it if it can't be - found""" - if sys.platform == "win32": - caller.IgnoreName("EasyDialogs") - - -def missing_readline(finder, caller): - """the readline module is not normally present on Windows but it also may - be so instead of excluding it completely, ignore it if it can't be - found""" - if sys.platform == "win32": - caller.IgnoreName("readline") - - -def missing_xml_etree(finder, caller): - """the xml.etree package is new for Python 2.5 but it is common practice - to use a try..except.. block in order to support versions earlier than - Python 2.5 transparently; ignore the absence of the package in this - situation.""" - if sys.version_info[:2] < (2, 5): - caller.IgnoreName("xml.etree") - diff --git a/setup/installer/cx_Freeze/cx_Freeze/main.py b/setup/installer/cx_Freeze/cx_Freeze/main.py deleted file mode 100644 index 1704c598d2..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/main.py +++ /dev/null @@ -1,171 +0,0 @@ -import optparse -import os -import shutil -import stat -import sys - -import cx_Freeze - -__all__ = ["main"] - -USAGE = \ -""" -%prog [options] [SCRIPT] - -Freeze a Python script and all of its referenced modules to a base -executable which can then be distributed without requiring a Python -installation.""" - -VERSION = \ -""" -%%prog %s -Copyright (c) 2007-2008 Colt Engineering. All rights reserved. -Copyright (c) 2001-2006 Computronix Corporation. All rights reserved.""" % \ - cx_Freeze.version - - -def ParseCommandLine(): - parser = optparse.OptionParser(version = VERSION.strip(), - usage = USAGE.strip()) - parser.add_option("-O", - action = "count", - default = 0, - dest = "optimized", - help = "optimize generated bytecode as per PYTHONOPTIMIZE; " - "use -OO in order to remove doc strings") - parser.add_option("-c", "--compress", - action = "store_true", - dest = "compress", - help = "compress byte code in zip files") - parser.add_option("--base-name", - dest = "baseName", - metavar = "NAME", - help = "file on which to base the target file; if the name of the " - "file is not an absolute file name, the subdirectory bases " - "(rooted in the directory in which the freezer is found) " - "will be searched for a file matching the name") - parser.add_option("--init-script", - dest = "initScript", - metavar = "NAME", - help = "script which will be executed upon startup; if the name " - "of the file is not an absolute file name, the " - "subdirectory initscripts (rooted in the directory in " - "which the cx_Freeze package is found) will be searched " - "for a file matching the name") - parser.add_option("--target-dir", "--install-dir", - dest = "targetDir", - metavar = "DIR", - help = "the directory in which to place the target file and " - "any dependent files") - parser.add_option("--target-name", - dest = "targetName", - metavar = "NAME", - help = "the name of the file to create instead of the base name " - "of the script and the extension of the base binary") - parser.add_option("--no-copy-deps", - dest = "copyDeps", - default = True, - action = "store_false", - help = "do not copy the dependent files (extensions, shared " - "libraries, etc.) to the target directory; this also " - "modifies the default init script to ConsoleKeepPath.py " - "and means that the target executable requires a Python " - "installation to execute properly") - parser.add_option("--default-path", - action = "append", - dest = "defaultPath", - metavar = "DIRS", - help = "list of paths separated by the standard path separator " - "for the platform which will be used to initialize " - "sys.path prior to running the module finder") - parser.add_option("--include-path", - action = "append", - dest = "includePath", - metavar = "DIRS", - help = "list of paths separated by the standard path separator " - "for the platform which will be used to modify sys.path " - "prior to running the module finder") - parser.add_option("--replace-paths", - dest = "replacePaths", - metavar = "DIRECTIVES", - help = "replace all the paths in modules found in the given paths " - "with the given replacement string; multiple values are " - "separated by the standard path separator and each value " - "is of the form path=replacement_string; path can be * " - "which means all paths not already specified") - parser.add_option("--include-modules", - dest = "includeModules", - metavar = "NAMES", - help = "comma separated list of modules to include") - parser.add_option("--exclude-modules", - dest = "excludeModules", - metavar = "NAMES", - help = "comma separated list of modules to exclude") - parser.add_option("--ext-list-file", - dest = "extListFile", - metavar = "NAME", - help = "name of file in which to place the list of dependent files " - "which were copied into the target directory") - parser.add_option("-z", "--zip-include", - dest = "zipIncludes", - action = "append", - default = [], - metavar = "SPEC", - help = "name of file to add to the zip file or a specification of " - "the form name=arcname which will specify the archive name " - "to use; multiple --zip-include arguments can be used") - options, args = parser.parse_args() - if len(args) == 0: - options.script = None - elif len(args) == 1: - options.script, = args - else: - parser.error("only one script can be specified") - if not args and options.includeModules is None and options.copyDeps: - parser.error("script or a list of modules must be specified") - if not args and options.targetName is None: - parser.error("script or a target name must be specified") - if options.excludeModules: - options.excludeModules = options.excludeModules.split(",") - else: - options.excludeModules = [] - if options.includeModules: - options.includeModules = options.includeModules.split(",") - else: - options.includeModules = [] - replacePaths = [] - if options.replacePaths: - for directive in options.replacePaths.split(os.pathsep): - fromPath, replacement = directive.split("=") - replacePaths.append((fromPath, replacement)) - options.replacePaths = replacePaths - if options.defaultPath is not None: - sys.path = [p for mp in options.defaultPath \ - for p in mp.split(os.pathsep)] - if options.includePath is not None: - paths = [p for mp in options.includePath for p in mp.split(os.pathsep)] - sys.path = paths + sys.path - if options.script is not None: - sys.path.insert(0, os.path.dirname(options.script)) - return options - - -def main(): - options = ParseCommandLine() - executables = [cx_Freeze.Executable(options.script, - targetName = options.targetName)] - freezer = cx_Freeze.Freezer(executables, - includes = options.includeModules, - excludes = options.excludeModules, - replacePaths = options.replacePaths, - compress = options.compress, - optimizeFlag = options.optimized, - copyDependentFiles = options.copyDeps, - initScript = options.initScript, - base = options.baseName, - path = None, - createLibraryZip = False, - appendScriptToExe = True, - targetDir = options.targetDir) - freezer.Freeze() - diff --git a/setup/installer/cx_Freeze/cx_Freeze/windist.py b/setup/installer/cx_Freeze/cx_Freeze/windist.py deleted file mode 100644 index 51af544771..0000000000 --- a/setup/installer/cx_Freeze/cx_Freeze/windist.py +++ /dev/null @@ -1,337 +0,0 @@ -import distutils.command.bdist_msi -import msilib -import os - -__all__ = [ "bdist_msi" ] - -# force the remove existing products action to happen first since Windows -# installer appears to be braindead and doesn't handle files shared between -# different "products" very well -sequence = msilib.sequence.InstallExecuteSequence -for index, info in enumerate(sequence): - if info[0] == u'RemoveExistingProducts': - sequence[index] = (info[0], info[1], 1450) - - -class bdist_msi(distutils.command.bdist_msi.bdist_msi): - user_options = distutils.command.bdist_msi.bdist_msi.user_options + [ - ('add-to-path=', None, 'add target dir to PATH environment variable'), - ('upgrade-code=', None, 'upgrade code to use') - ] - x = y = 50 - width = 370 - height = 300 - title = "[ProductName] Setup" - modeless = 1 - modal = 3 - - def add_config(self, fullname): - initialTargetDir = self.get_initial_target_dir(fullname) - if self.add_to_path is None: - self.add_to_path = False - for executable in self.distribution.executables: - if os.path.basename(executable.base).startswith("Console"): - self.add_to_path = True - break - if self.add_to_path: - msilib.add_data(self.db, 'Environment', - [("E_PATH", "Path", r"[~];[TARGETDIR]", "TARGETDIR")]) - msilib.add_data(self.db, 'CustomAction', - [("InitialTargetDir", 256 + 51, "TARGETDIR", initialTargetDir) - ]) - msilib.add_data(self.db, 'InstallExecuteSequence', - [("InitialTargetDir", 'TARGETDIR=""', 401)]) - msilib.add_data(self.db, 'InstallUISequence', - [("PrepareDlg", None, 140), - ("InitialTargetDir", 'TARGETDIR=""', 401), - ("SelectDirectoryDlg", "not Installed", 1230), - ("MaintenanceTypeDlg", - "Installed and not Resume and not Preselected", 1250), - ("ProgressDlg", None, 1280) - ]) - - def add_cancel_dialog(self): - dialog = msilib.Dialog(self.db, "CancelDlg", 50, 10, 260, 85, 3, - self.title, "No", "No", "No") - dialog.text("Text", 48, 15, 194, 30, 3, - "Are you sure you want to cancel [ProductName] installation?") - button = dialog.pushbutton("Yes", 72, 57, 56, 17, 3, "Yes", "No") - button.event("EndDialog", "Exit") - button = dialog.pushbutton("No", 132, 57, 56, 17, 3, "No", "Yes") - button.event("EndDialog", "Return") - - def add_error_dialog(self): - dialog = msilib.Dialog(self.db, "ErrorDlg", 50, 10, 330, 101, 65543, - self.title, "ErrorText", None, None) - dialog.text("ErrorText", 50, 9, 280, 48, 3, "") - for text, x in [("No", 120), ("Yes", 240), ("Abort", 0), - ("Cancel", 42), ("Ignore", 81), ("Ok", 159), ("Retry", 198)]: - button = dialog.pushbutton(text[0], x, 72, 81, 21, 3, text, None) - button.event("EndDialog", "Error%s" % text) - - def add_exit_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "ExitDialog", - self.x, self.y, self.width, self.height, self.modal, - self.title, "Finish", "Finish", "Finish") - dialog.title("Completing the [ProductName] installer") - dialog.back("< Back", "Finish", active = False) - dialog.cancel("Cancel", "Back", active = False) - dialog.text("Description", 15, 235, 320, 20, 0x30003, - "Click the Finish button to exit the installer.") - button = dialog.next("Finish", "Cancel", name = "Finish") - button.event("EndDialog", "Return") - - def add_fatal_error_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "FatalError", - self.x, self.y, self.width, self.height, self.modal, - self.title, "Finish", "Finish", "Finish") - dialog.title("[ProductName] installer ended prematurely") - dialog.back("< Back", "Finish", active = False) - dialog.cancel("Cancel", "Back", active = False) - dialog.text("Description1", 15, 70, 320, 80, 0x30003, - "[ProductName] setup ended prematurely because of an error. " - "Your system has not been modified. To install this program " - "at a later time, please run the installation again.") - dialog.text("Description2", 15, 155, 320, 20, 0x30003, - "Click the Finish button to exit the installer.") - button = dialog.next("Finish", "Cancel", name = "Finish") - button.event("EndDialog", "Exit") - - def add_files_in_use_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "FilesInUse", - self.x, self.y, self.width, self.height, 19, self.title, - "Retry", "Retry", "Retry", bitmap = False) - dialog.text("Title", 15, 6, 200, 15, 0x30003, - r"{\DlgFontBold8}Files in Use") - dialog.text("Description", 20, 23, 280, 20, 0x30003, - "Some files that need to be updated are currently in use.") - dialog.text("Text", 20, 55, 330, 50, 3, - "The following applications are using files that need to be " - "updated by this setup. Close these applications and then " - "click Retry to continue the installation or Cancel to exit " - "it.") - dialog.control("List", "ListBox", 20, 107, 330, 130, 7, - "FileInUseProcess", None, None, None) - button = dialog.back("Exit", "Ignore", name = "Exit") - button.event("EndDialog", "Exit") - button = dialog.next("Ignore", "Retry", name = "Ignore") - button.event("EndDialog", "Ignore") - button = dialog.cancel("Retry", "Exit", name = "Retry") - button.event("EndDialog", "Retry") - - def add_maintenance_type_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, - "MaintenanceTypeDlg", self.x, self.y, self.width, self.height, - self.modal, self.title, "Next", "Next", "Cancel") - dialog.title("Welcome to the [ProductName] Setup Wizard") - dialog.text("BodyText", 15, 63, 330, 42, 3, - "Select whether you want to repair or remove [ProductName].") - group = dialog.radiogroup("RepairRadioGroup", 15, 108, 330, 60, 3, - "MaintenanceForm_Action", "", "Next") - group.add("Repair", 0, 18, 300, 17, "&Repair [ProductName]") - group.add("Remove", 0, 36, 300, 17, "Re&move [ProductName]") - dialog.back("< Back", None, active = False) - button = dialog.next("Finish", "Cancel") - button.event("[REINSTALL]", "ALL", - 'MaintenanceForm_Action="Repair"', 5) - button.event("[Progress1]", "Repairing", - 'MaintenanceForm_Action="Repair"', 6) - button.event("[Progress2]", "repairs", - 'MaintenanceForm_Action="Repair"', 7) - button.event("Reinstall", "ALL", - 'MaintenanceForm_Action="Repair"', 8) - button.event("[REMOVE]", "ALL", - 'MaintenanceForm_Action="Remove"', 11) - button.event("[Progress1]", "Removing", - 'MaintenanceForm_Action="Remove"', 12) - button.event("[Progress2]", "removes", - 'MaintenanceForm_Action="Remove"', 13) - button.event("Remove", "ALL", - 'MaintenanceForm_Action="Remove"', 14) - button.event("EndDialog", "Return", - 'MaintenanceForm_Action<>"Change"', 20) - button = dialog.cancel("Cancel", "RepairRadioGroup") - button.event("SpawnDialog", "CancelDlg") - - def add_prepare_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "PrepareDlg", - self.x, self.y, self.width, self.height, self.modeless, - self.title, "Cancel", "Cancel", "Cancel") - dialog.text("Description", 15, 70, 320, 40, 0x30003, - "Please wait while the installer prepares to guide you through" - "the installation.") - dialog.title("Welcome to the [ProductName] installer") - text = dialog.text("ActionText", 15, 110, 320, 20, 0x30003, - "Pondering...") - text.mapping("ActionText", "Text") - text = dialog.text("ActionData", 15, 135, 320, 30, 0x30003, None) - text.mapping("ActionData", "Text") - dialog.back("Back", None, active = False) - dialog.next("Next", None, active = False) - button = dialog.cancel("Cancel", None) - button.event("SpawnDialog", "CancelDlg") - - def add_progress_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "ProgressDlg", - self.x, self.y, self.width, self.height, self.modeless, - self.title, "Cancel", "Cancel", "Cancel", bitmap = False) - dialog.text("Title", 20, 15, 200, 15, 0x30003, - r"{\DlgFontBold8}[Progress1] [ProductName]") - dialog.text("Text", 35, 65, 300, 30, 3, - "Please wait while the installer [Progress2] [ProductName].") - dialog.text("StatusLabel", 35, 100 ,35, 20, 3, "Status:") - text = dialog.text("ActionText", 70, 100, self.width - 70, 20, 3, - "Pondering...") - text.mapping("ActionText", "Text") - control = dialog.control("ProgressBar", "ProgressBar", 35, 120, 300, - 10, 65537, None, "Progress done", None, None) - control.mapping("SetProgress", "Progress") - dialog.back("< Back", "Next", active = False) - dialog.next("Next >", "Cancel", active = False) - button = dialog.cancel("Cancel", "Back") - button.event("SpawnDialog", "CancelDlg") - - def add_properties(self): - metadata = self.distribution.metadata - props = [ - ('DistVersion', metadata.get_version()), - ('DefaultUIFont', 'DlgFont8'), - ('ErrorDialog', 'ErrorDlg'), - ('Progress1', 'Install'), - ('Progress2', 'installs'), - ('MaintenanceForm_Action', 'Repair') - ] - email = metadata.author_email or metadata.maintainer_email - if email: - props.append(("ARPCONTACT", email)) - if metadata.url: - props.append(("ARPURLINFOABOUT", metadata.url)) - if self.upgrade_code is not None: - props.append(("UpgradeCode", self.upgrade_code)) - msilib.add_data(self.db, 'Property', props) - - def add_select_directory_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, - "SelectDirectoryDlg", self.x, self.y, self.width, self.height, - self.modal, self.title, "Next", "Next", "Cancel") - dialog.title("Select destination directory") - dialog.back("< Back", None, active = False) - button = dialog.next("Next >", "Cancel") - button.event("SetTargetPath", "TARGETDIR", ordering = 1) - button.event("SpawnWaitDialog", "WaitForCostingDlg", ordering = 2) - button.event("EndDialog", "Return", ordering = 3) - button = dialog.cancel("Cancel", "DirectoryCombo") - button.event("SpawnDialog", "CancelDlg") - dialog.control("DirectoryCombo", "DirectoryCombo", 15, 70, 272, 80, - 393219, "TARGETDIR", None, "DirectoryList", None) - dialog.control("DirectoryList", "DirectoryList", 15, 90, 308, 136, 3, - "TARGETDIR", None, "PathEdit", None) - dialog.control("PathEdit", "PathEdit", 15, 230, 306, 16, 3, - "TARGETDIR", None, "Next", None) - button = dialog.pushbutton("Up", 306, 70, 18, 18, 3, "Up", None) - button.event("DirectoryListUp", "0") - button = dialog.pushbutton("NewDir", 324, 70, 30, 18, 3, "New", None) - button.event("DirectoryListNew", "0") - - def add_text_styles(self): - msilib.add_data(self.db, 'TextStyle', - [("DlgFont8", "Tahoma", 9, None, 0), - ("DlgFontBold8", "Tahoma", 8, None, 1), - ("VerdanaBold10", "Verdana", 10, None, 1), - ("VerdanaRed9", "Verdana", 9, 255, 0) - ]) - - def add_ui(self): - self.add_text_styles() - self.add_error_dialog() - self.add_fatal_error_dialog() - self.add_cancel_dialog() - self.add_exit_dialog() - self.add_user_exit_dialog() - self.add_files_in_use_dialog() - self.add_wait_for_costing_dialog() - self.add_prepare_dialog() - self.add_select_directory_dialog() - self.add_progress_dialog() - self.add_maintenance_type_dialog() - - def add_upgrade_config(self, sversion): - if self.upgrade_code is not None: - msilib.add_data(self.db, 'Upgrade', - [(self.upgrade_code, None, sversion, None, 513, None, - "REMOVEOLDVERSION"), - (self.upgrade_code, sversion, None, None, 257, None, - "REMOVENEWVERSION") - ]) - - def add_user_exit_dialog(self): - dialog = distutils.command.bdist_msi.PyDialog(self.db, "UserExit", - self.x, self.y, self.width, self.height, self.modal, - self.title, "Finish", "Finish", "Finish") - dialog.title("[ProductName] installer was interrupted") - dialog.back("< Back", "Finish", active = False) - dialog.cancel("Cancel", "Back", active = False) - dialog.text("Description1", 15, 70, 320, 80, 0x30003, - "[ProductName] setup was interrupted. Your system has not " - "been modified. To install this program at a later time, " - "please run the installation again.") - dialog.text("Description2", 15, 155, 320, 20, 0x30003, - "Click the Finish button to exit the installer.") - button = dialog.next("Finish", "Cancel", name = "Finish") - button.event("EndDialog", "Exit") - - def add_wait_for_costing_dialog(self): - dialog = msilib.Dialog(self.db, "WaitForCostingDlg", 50, 10, 260, 85, - self.modal, self.title, "Return", "Return", "Return") - dialog.text("Text", 48, 15, 194, 30, 3, - "Please wait while the installer finishes determining your " - "disk space requirements.") - button = dialog.pushbutton("Return", 102, 57, 56, 17, 3, "Return", - None) - button.event("EndDialog", "Exit") - - def get_initial_target_dir(self, fullname): - return r"[ProgramFilesFolder]\%s" % fullname - - def get_installer_filename(self, fullname): - return os.path.join(self.dist_dir, "%s.msi" % fullname) - - def initialize_options(self): - distutils.command.bdist_msi.bdist_msi.initialize_options(self) - self.upgrade_code = None - self.add_to_path = None - - def run(self): - if not self.skip_build: - self.run_command('build') - install = self.reinitialize_command('install', reinit_subcommands = 1) - install.prefix = self.bdist_dir - install.skip_build = self.skip_build - install.warn_dir = 0 - distutils.log.info("installing to %s", self.bdist_dir) - install.ensure_finalized() - install.run() - self.mkpath(self.dist_dir) - fullname = self.distribution.get_fullname() - filename = os.path.abspath(self.get_installer_filename(fullname)) - if os.path.exists(filename): - os.unlink(filename) - metadata = self.distribution.metadata - author = metadata.author or metadata.maintainer or "UNKNOWN" - version = metadata.get_version() - sversion = "%d.%d.%d" % \ - distutils.version.StrictVersion(version).version - self.db = msilib.init_database(filename, msilib.schema, - self.distribution.metadata.name, msilib.gen_uuid(), sversion, - author) - msilib.add_tables(self.db, msilib.sequence) - self.add_properties() - self.add_config(fullname) - self.add_upgrade_config(sversion) - self.add_ui() - self.add_files() - self.db.Commit() - if not self.keep_temp: - distutils.dir_util.remove_tree(self.bdist_dir, - dry_run = self.dry_run) - diff --git a/setup/installer/cx_Freeze/cxfreeze b/setup/installer/cx_Freeze/cxfreeze deleted file mode 100755 index acd6789833..0000000000 --- a/setup/installer/cx_Freeze/cxfreeze +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/python - -from cx_Freeze import main - -main() - diff --git a/setup/installer/cx_Freeze/initscripts/Console.py b/setup/installer/cx_Freeze/initscripts/Console.py deleted file mode 100755 index e10649d722..0000000000 --- a/setup/installer/cx_Freeze/initscripts/Console.py +++ /dev/null @@ -1,35 +0,0 @@ -#------------------------------------------------------------------------------ -# Console.py -# Initialization script for cx_Freeze which manipulates the path so that the -# directory in which the executable is found is searched for extensions but -# no other directory is searched. It also sets the attribute sys.frozen so that -# the Win32 extensions behave as expected. -#------------------------------------------------------------------------------ - -import encodings -import os -import sys -import warnings -import zipimport - -sys.frozen = True -sys.path = sys.path[:4] - -os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") -os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") - -m = __import__("__main__") -importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) -if INITSCRIPT_ZIP_FILE_NAME != SHARED_ZIP_FILE_NAME: - moduleName = m.__name__ -else: - name, ext = os.path.splitext(os.path.basename(os.path.normcase(FILE_NAME))) - moduleName = "%s__main__" % name -code = importer.get_code(moduleName) -exec code in m.__dict__ - -if sys.version_info[:2] >= (2, 5): - module = sys.modules.get("threading") - if module is not None: - module._shutdown() - diff --git a/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py b/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py deleted file mode 100755 index 60151a1ff6..0000000000 --- a/setup/installer/cx_Freeze/initscripts/ConsoleKeepPath.py +++ /dev/null @@ -1,19 +0,0 @@ -#------------------------------------------------------------------------------ -# ConsoleKeepPath.py -# Initialization script for cx_Freeze which leaves the path alone and does -# not set the sys.frozen attribute. -#------------------------------------------------------------------------------ - -import sys -import zipimport - -m = __import__("__main__") -importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) -code = importer.get_code(m.__name__) -exec code in m.__dict__ - -if sys.version_info[:2] >= (2, 5): - module = sys.modules.get("threading") - if module is not None: - module._shutdown() - diff --git a/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py b/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py deleted file mode 100755 index b558652c0a..0000000000 --- a/setup/installer/cx_Freeze/initscripts/ConsoleSetLibPath.py +++ /dev/null @@ -1,38 +0,0 @@ -#------------------------------------------------------------------------------ -# ConsoleSetLibPath.py -# Initialization script for cx_Freeze which manipulates the path so that the -# directory in which the executable is found is searched for extensions but -# no other directory is searched. The environment variable LD_LIBRARY_PATH is -# manipulated first, however, to ensure that shared libraries found in the -# target directory are found. This requires a restart of the executable because -# the environment variable LD_LIBRARY_PATH is only checked at startup. -#------------------------------------------------------------------------------ - -import encodings -import os -import sys -import warnings -import zipimport - -paths = os.environ.get("LD_LIBRARY_PATH", "").split(os.pathsep) -if DIR_NAME not in paths: - paths.insert(0, DIR_NAME) - os.environ["LD_LIBRARY_PATH"] = os.pathsep.join(paths) - os.execv(sys.executable, sys.argv) - -sys.frozen = True -sys.path = sys.path[:4] - -os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") -os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") - -m = __import__("__main__") -importer = zipimport.zipimporter(INITSCRIPT_ZIP_FILE_NAME) -code = importer.get_code(m.__name__) -exec code in m.__dict__ - -if sys.version_info[:2] >= (2, 5): - module = sys.modules.get("threading") - if module is not None: - module._shutdown() - diff --git a/setup/installer/cx_Freeze/initscripts/SharedLib.py b/setup/installer/cx_Freeze/initscripts/SharedLib.py deleted file mode 100755 index 0445367010..0000000000 --- a/setup/installer/cx_Freeze/initscripts/SharedLib.py +++ /dev/null @@ -1,20 +0,0 @@ -#------------------------------------------------------------------------------ -# SharedLib.py -# Initialization script for cx_Freeze which behaves similarly to the one for -# console based applications but must handle the case where Python has already -# been initialized and another DLL of this kind has been loaded. As such it -# does not block the path unless sys.frozen is not already set. -#------------------------------------------------------------------------------ - -import encodings -import os -import sys -import warnings - -if not hasattr(sys, "frozen"): - sys.frozen = True - sys.path = sys.path[:4] - -os.environ["TCL_LIBRARY"] = os.path.join(DIR_NAME, "tcl") -os.environ["TK_LIBRARY"] = os.path.join(DIR_NAME, "tk") - diff --git a/setup/installer/cx_Freeze/initscripts/SharedLibSource.py b/setup/installer/cx_Freeze/initscripts/SharedLibSource.py deleted file mode 100755 index 3edae93694..0000000000 --- a/setup/installer/cx_Freeze/initscripts/SharedLibSource.py +++ /dev/null @@ -1,23 +0,0 @@ -#------------------------------------------------------------------------------ -# SharedLibSource.py -# Initialization script for cx_Freeze which imports the site module (as per -# normal processing of a Python script) and then searches for a file with the -# same name as the shared library but with the extension .pth. The entries in -# this file are used to modify the path to use for subsequent imports. -#------------------------------------------------------------------------------ - -import os -import sys -import warnings - -# the site module must be imported for normal behavior to take place; it is -# done dynamically so that cx_Freeze will not add all modules referenced by -# the site module to the frozen executable -__import__("site") - -# now locate the pth file to modify the path appropriately -baseName, ext = os.path.splitext(FILE_NAME) -pathFileName = baseName + ".pth" -sys.path = [s.strip() for s in file(pathFileName).read().splitlines()] + \ - sys.path - diff --git a/setup/installer/cx_Freeze/samples/advanced/advanced_1.py b/setup/installer/cx_Freeze/samples/advanced/advanced_1.py deleted file mode 100644 index 2f1b68bceb..0000000000 --- a/setup/installer/cx_Freeze/samples/advanced/advanced_1.py +++ /dev/null @@ -1,7 +0,0 @@ -import sys - -print "Hello from cx_Freeze Advanced #1" -print - -module = __import__("testfreeze_1") - diff --git a/setup/installer/cx_Freeze/samples/advanced/advanced_2.py b/setup/installer/cx_Freeze/samples/advanced/advanced_2.py deleted file mode 100644 index 1a6fe37e62..0000000000 --- a/setup/installer/cx_Freeze/samples/advanced/advanced_2.py +++ /dev/null @@ -1,7 +0,0 @@ -import sys - -print "Hello from cx_Freeze Advanced #2" -print - -module = __import__("testfreeze_2") - diff --git a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py deleted file mode 100644 index 6157b72a69..0000000000 --- a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_1.py +++ /dev/null @@ -1 +0,0 @@ -print "Test freeze module #1" diff --git a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py b/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py deleted file mode 100644 index ca133a7d58..0000000000 --- a/setup/installer/cx_Freeze/samples/advanced/modules/testfreeze_2.py +++ /dev/null @@ -1 +0,0 @@ -print "Test freeze module #2" diff --git a/setup/installer/cx_Freeze/samples/advanced/setup.py b/setup/installer/cx_Freeze/samples/advanced/setup.py deleted file mode 100644 index 3a79cf23af..0000000000 --- a/setup/installer/cx_Freeze/samples/advanced/setup.py +++ /dev/null @@ -1,31 +0,0 @@ -# An advanced setup script to create multiple executables and demonstrate a few -# of the features available to setup scripts -# -# hello.py is a very simple "Hello, world" type script which also displays the -# environment in which the script runs -# -# Run the build process by running the command 'python setup.py build' -# -# If everything works well you should find a subdirectory in the build -# subdirectory that contains the files needed to run the script without Python - -import sys -from cx_Freeze import setup, Executable - -executables = [ - Executable("advanced_1.py"), - Executable("advanced_2.py") -] - -buildOptions = dict( - compressed = True, - includes = ["testfreeze_1", "testfreeze_2"], - path = sys.path + ["modules"]) - -setup( - name = "advanced_cx_Freeze_sample", - version = "0.1", - description = "Advanced sample cx_Freeze script", - options = dict(build_exe = buildOptions), - executables = executables) - diff --git a/setup/installer/cx_Freeze/samples/matplotlib/setup.py b/setup/installer/cx_Freeze/samples/matplotlib/setup.py deleted file mode 100644 index 54bd97fc3f..0000000000 --- a/setup/installer/cx_Freeze/samples/matplotlib/setup.py +++ /dev/null @@ -1,27 +0,0 @@ -# A simple setup script to create an executable using matplotlib. -# -# test_matplotlib.py is a very simple matplotlib application that demonstrates -# its use. -# -# Run the build process by running the command 'python setup.py build' -# -# If everything works well you should find a subdirectory in the build -# subdirectory that contains the files needed to run the application - -import cx_Freeze -import sys - -base = None -if sys.platform == "win32": - base = "Win32GUI" - -executables = [ - cx_Freeze.Executable("test_matplotlib.py", base = base) -] - -cx_Freeze.setup( - name = "test_matplotlib", - version = "0.1", - description = "Sample matplotlib script", - executables = executables) - diff --git a/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py b/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py deleted file mode 100644 index 2029845ca5..0000000000 --- a/setup/installer/cx_Freeze/samples/matplotlib/test_matplotlib.py +++ /dev/null @@ -1,48 +0,0 @@ -from numpy import arange, sin, pi -import matplotlib -matplotlib.use('WXAgg') -from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas -from matplotlib.backends.backend_wx import NavigationToolbar2Wx -from matplotlib.figure import Figure -from wx import * - -class CanvasFrame(Frame): - def __init__(self): - Frame.__init__(self,None,-1, 'CanvasFrame',size=(550,350)) - self.SetBackgroundColour(NamedColor("WHITE")) - self.figure = Figure() - self.axes = self.figure.add_subplot(111) - t = arange(0.0,3.0,0.01) - s = sin(2*pi*t) - self.axes.plot(t,s) - self.canvas = FigureCanvas(self, -1, self.figure) - self.sizer = BoxSizer(VERTICAL) - self.sizer.Add(self.canvas, 1, LEFT | TOP | GROW) - self.SetSizerAndFit(self.sizer) - self.add_toolbar() - - def add_toolbar(self): - self.toolbar = NavigationToolbar2Wx(self.canvas) - self.toolbar.Realize() - if Platform == '__WXMAC__': - self.SetToolBar(self.toolbar) - else: - tw, th = self.toolbar.GetSizeTuple() - fw, fh = self.canvas.GetSizeTuple() - self.toolbar.SetSize(Size(fw, th)) - self.sizer.Add(self.toolbar, 0, LEFT | EXPAND) - self.toolbar.update() - - def OnPaint(self, event): - self.canvas.draw() - -class App(App): - def OnInit(self): - 'Create the main window and insert the custom frame' - frame = CanvasFrame() - frame.Show(True) - return True - -app = App(0) -app.MainLoop() - diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py deleted file mode 100644 index 5a170fd2dd..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -print "importing pkg1" -from . import sub1 -from . import pkg2 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py deleted file mode 100644 index 71e0b1fbe6..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -print "importing pkg1.pkg2" -from . import sub3 -from .. import sub4 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py deleted file mode 100644 index 1719aadb41..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py +++ /dev/null @@ -1,3 +0,0 @@ -print "importing pkg1.pkg2.sub3" -from . import sub5 -from .. import sub6 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py deleted file mode 100644 index 1c91b8fa23..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py +++ /dev/null @@ -1 +0,0 @@ -print "importing pkg1.pkg2.sub5" diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py deleted file mode 100644 index 514bd88a87..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub1.py +++ /dev/null @@ -1,2 +0,0 @@ -print "importing pkg1.sub1" -from . import sub2 diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py deleted file mode 100644 index 63a0838b25..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub2.py +++ /dev/null @@ -1 +0,0 @@ -print "importing pkg1.sub2" diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py deleted file mode 100644 index 3a8e760e43..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub4.py +++ /dev/null @@ -1 +0,0 @@ -print 'importing pkg1.sub4' diff --git a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py b/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py deleted file mode 100644 index 1e7d7955d6..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/pkg1/sub6.py +++ /dev/null @@ -1 +0,0 @@ -print "importing pkg1.sub6" diff --git a/setup/installer/cx_Freeze/samples/relimport/relimport.py b/setup/installer/cx_Freeze/samples/relimport/relimport.py deleted file mode 100644 index 39cb50c91d..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/relimport.py +++ /dev/null @@ -1 +0,0 @@ -import pkg1 diff --git a/setup/installer/cx_Freeze/samples/relimport/setup.py b/setup/installer/cx_Freeze/samples/relimport/setup.py deleted file mode 100644 index b8b3f3853b..0000000000 --- a/setup/installer/cx_Freeze/samples/relimport/setup.py +++ /dev/null @@ -1,16 +0,0 @@ -# relimport.py is a very simple script that tests importing using relative -# imports (available in Python 2.5 and up) -# -# Run the build process by running the command 'python setup.py build' -# -# If everything works well you should find a subdirectory in the build -# subdirectory that contains the files needed to run the script without Python - -from cx_Freeze import setup, Executable - -setup( - name = "relimport", - version = "0.1", - description = "Sample cx_Freeze script for relative imports", - executables = [Executable("relimport.py")]) - diff --git a/setup/installer/cx_Freeze/samples/simple/hello.py b/setup/installer/cx_Freeze/samples/simple/hello.py deleted file mode 100644 index 0fb32405bc..0000000000 --- a/setup/installer/cx_Freeze/samples/simple/hello.py +++ /dev/null @@ -1,19 +0,0 @@ -import sys - -print "Hello from cx_Freeze" -print - -print "sys.executable", sys.executable -print "sys.prefix", sys.prefix -print - -print "ARGUMENTS:" -for a in sys.argv: - print a -print - -print "PATH:" -for p in sys.path: - print p -print - diff --git a/setup/installer/cx_Freeze/samples/simple/setup.py b/setup/installer/cx_Freeze/samples/simple/setup.py deleted file mode 100644 index 25de838b10..0000000000 --- a/setup/installer/cx_Freeze/samples/simple/setup.py +++ /dev/null @@ -1,18 +0,0 @@ -# A very simple setup script to create a single executable -# -# hello.py is a very simple "Hello, world" type script which also displays the -# environment in which the script runs -# -# Run the build process by running the command 'python setup.py build' -# -# If everything works well you should find a subdirectory in the build -# subdirectory that contains the files needed to run the script without Python - -from cx_Freeze import setup, Executable - -setup( - name = "hello", - version = "0.1", - description = "Sample cx_Freeze script", - executables = [Executable("hello.py")]) - diff --git a/setup/installer/cx_Freeze/samples/wx/setup.py b/setup/installer/cx_Freeze/samples/wx/setup.py deleted file mode 100644 index 9412996859..0000000000 --- a/setup/installer/cx_Freeze/samples/wx/setup.py +++ /dev/null @@ -1,25 +0,0 @@ -# A simple setup script to create an executable running wxPython. This also -# demonstrates the method for creating a Windows executable that does not have -# an associated console. -# -# wxapp.py is a very simple "Hello, world" type wxPython application -# -# Run the build process by running the command 'python setup.py build' -# -# If everything works well you should find a subdirectory in the build -# subdirectory that contains the files needed to run the application - -import sys - -from cx_Freeze import setup, Executable - -base = None -if sys.platform == "win32": - base = "Win32GUI" - -setup( - name = "hello", - version = "0.1", - description = "Sample cx_Freeze wxPython script", - executables = [Executable("wxapp.py", base = base)]) - diff --git a/setup/installer/cx_Freeze/samples/wx/wxapp.py b/setup/installer/cx_Freeze/samples/wx/wxapp.py deleted file mode 100644 index 7baa90b8d1..0000000000 --- a/setup/installer/cx_Freeze/samples/wx/wxapp.py +++ /dev/null @@ -1,42 +0,0 @@ -import wx - -class Frame(wx.Frame): - - def __init__(self): - wx.Frame.__init__(self, parent = None, title = "Hello from cx_Freeze") - panel = wx.Panel(self) - closeMeButton = wx.Button(panel, -1, "Close Me") - wx.EVT_BUTTON(self, closeMeButton.GetId(), self.OnCloseMe) - wx.EVT_CLOSE(self, self.OnCloseWindow) - pushMeButton = wx.Button(panel, -1, "Push Me") - wx.EVT_BUTTON(self, pushMeButton.GetId(), self.OnPushMe) - sizer = wx.BoxSizer(wx.HORIZONTAL) - sizer.Add(closeMeButton, flag = wx.ALL, border = 20) - sizer.Add(pushMeButton, flag = wx.ALL, border = 20) - panel.SetSizer(sizer) - topSizer = wx.BoxSizer(wx.VERTICAL) - topSizer.Add(panel, flag = wx.ALL | wx.EXPAND) - topSizer.Fit(self) - - def OnCloseMe(self, event): - self.Close(True) - - def OnPushMe(self, event): - 1 / 0 - - def OnCloseWindow(self, event): - self.Destroy() - - -class App(wx.App): - - def OnInit(self): - frame = Frame() - frame.Show(True) - self.SetTopWindow(frame) - return True - - -app = App(1) -app.MainLoop() - diff --git a/setup/installer/cx_Freeze/setup.py b/setup/installer/cx_Freeze/setup.py deleted file mode 100755 index b51453aa7a..0000000000 --- a/setup/installer/cx_Freeze/setup.py +++ /dev/null @@ -1,197 +0,0 @@ -""" -Distutils script for cx_Freeze. -""" - -import distutils.command.bdist_rpm -import distutils.command.build_ext -import distutils.command.build_scripts -import distutils.command.install -import distutils.command.install_data -import distutils.sysconfig -import os -import sys - -from distutils.core import setup -from distutils.extension import Extension - -class bdist_rpm(distutils.command.bdist_rpm.bdist_rpm): - - # rpm automatically byte compiles all Python files in a package but we - # don't want that to happen for initscripts and samples so we tell it to - # ignore those files - def _make_spec_file(self): - specFile = distutils.command.bdist_rpm.bdist_rpm._make_spec_file(self) - specFile.insert(0, "%define _unpackaged_files_terminate_build 0%{nil}") - return specFile - - def run(self): - distutils.command.bdist_rpm.bdist_rpm.run(self) - specFile = os.path.join(self.rpm_base, "SPECS", - "%s.spec" % self.distribution.get_name()) - queryFormat = "%{name}-%{version}-%{release}.%{arch}.rpm" - command = "rpm -q --qf '%s' --specfile %s" % (queryFormat, specFile) - origFileName = os.popen(command).read() - parts = origFileName.split("-") - parts.insert(2, "py%s%s" % sys.version_info[:2]) - newFileName = "-".join(parts) - self.move_file(os.path.join("dist", origFileName), - os.path.join("dist", newFileName)) - - -class build_ext(distutils.command.build_ext.build_ext): - - def build_extension(self, ext): - if ext.name.find("bases") < 0: - distutils.command.build_ext.build_ext.build_extension(self, ext) - return - os.environ["LD_RUN_PATH"] = "${ORIGIN}:${ORIGIN}/../lib" - objects = self.compiler.compile(ext.sources, - output_dir = self.build_temp, - include_dirs = ext.include_dirs, - debug = self.debug, - depends = ext.depends) - fileName = os.path.splitext(self.get_ext_filename(ext.name))[0] - fullName = os.path.join(self.build_lib, fileName) - libraryDirs = ext.library_dirs or [] - libraries = self.get_libraries(ext) - extraArgs = ext.extra_link_args or [] - if sys.platform != "win32": - vars = distutils.sysconfig.get_config_vars() - libraryDirs.append(vars["LIBPL"]) - libraries.append("python%s.%s" % sys.version_info[:2]) - if vars["LINKFORSHARED"]: - extraArgs.extend(vars["LINKFORSHARED"].split()) - if vars["LIBS"]: - extraArgs.extend(vars["LIBS"].split()) - if vars["LIBM"]: - extraArgs.append(vars["LIBM"]) - if vars["BASEMODLIBS"]: - extraArgs.extend(vars["BASEMODLIBS"].split()) - if vars["LOCALMODLIBS"]: - extraArgs.extend(vars["LOCALMODLIBS"].split()) - extraArgs.append("-s") - self.compiler.link_executable(objects, fullName, - libraries = libraries, - library_dirs = libraryDirs, - runtime_library_dirs = ext.runtime_library_dirs, - extra_postargs = extraArgs, - debug = self.debug) - - def get_ext_filename(self, name): - fileName = distutils.command.build_ext.build_ext.get_ext_filename(self, - name) - if name.find("bases") < 0: - return fileName - ext = self.compiler.exe_extension or "" - return os.path.splitext(fileName)[0] + ext - - -class build_scripts(distutils.command.build_scripts.build_scripts): - - def copy_scripts(self): - distutils.command.build_scripts.build_scripts.copy_scripts(self) - if sys.platform == "win32": - for script in self.scripts: - batFileName = os.path.join(self.build_dir, script + ".bat") - fullScriptName = r"%s\Scripts\%s" % \ - (os.path.dirname(sys.executable), script) - command = "%s %s %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9" % \ - (sys.executable, fullScriptName) - file(batFileName, "w").write("@echo off\n\n%s" % command) - - -class install(distutils.command.install.install): - - def get_sub_commands(self): - subCommands = distutils.command.install.install.get_sub_commands(self) - subCommands.append("install_packagedata") - return subCommands - - -class install_packagedata(distutils.command.install_data.install_data): - - def run(self): - installCommand = self.get_finalized_command("install") - installDir = getattr(installCommand, "install_lib") - sourceDirs = ["samples", "initscripts"] - while sourceDirs: - sourceDir = sourceDirs.pop(0) - targetDir = os.path.join(installDir, "cx_Freeze", sourceDir) - self.mkpath(targetDir) - for name in os.listdir(sourceDir): - if name == "build" or name.startswith("."): - continue - fullSourceName = os.path.join(sourceDir, name) - if os.path.isdir(fullSourceName): - sourceDirs.append(fullSourceName) - else: - fullTargetName = os.path.join(targetDir, name) - self.copy_file(fullSourceName, fullTargetName) - self.outfiles.append(fullTargetName) - - -commandClasses = dict( - build_ext = build_ext, - build_scripts = build_scripts, - bdist_rpm = bdist_rpm, - install = install, - install_packagedata = install_packagedata) - -if sys.platform == "win32": - libraries = ["imagehlp"] -else: - libraries = [] -utilModule = Extension("cx_Freeze.util", ["source/util.c"], - libraries = libraries) -depends = ["source/bases/Common.c"] -if sys.platform == "win32": - if sys.version_info[:2] >= (2, 6): - extraSources = ["source/bases/manifest.rc"] - else: - extraSources = ["source/bases/dummy.rc"] -else: - extraSources = [] -console = Extension("cx_Freeze.bases.Console", - ["source/bases/Console.c"] + extraSources, depends = depends) -consoleKeepPath = Extension("cx_Freeze.bases.ConsoleKeepPath", - ["source/bases/ConsoleKeepPath.c"] + extraSources, depends = depends) -extensions = [utilModule, console, consoleKeepPath] -if sys.platform == "win32": - gui = Extension("cx_Freeze.bases.Win32GUI", - ["source/bases/Win32GUI.c"] + extraSources, - depends = depends, extra_link_args = ["-mwindows"]) - extensions.append(gui) - -docFiles = "LICENSE.txt README.txt HISTORY.txt doc/cx_Freeze.html" - -classifiers = [ - "Development Status :: 5 - Production/Stable", - "Intended Audience :: Developers", - "License :: OSI Approved :: Python Software Foundation License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: C", - "Programming Language :: Python", - "Topic :: Software Development :: Build Tools", - "Topic :: Software Development :: Libraries :: Python Modules", - "Topic :: System :: Software Distribution", - "Topic :: Utilities" -] - -setup(name = "cx_Freeze", - description = "create standalone executables from Python scripts", - long_description = "create standalone executables from Python scripts", - version = "4.0.1", - cmdclass = commandClasses, - options = dict(bdist_rpm = dict(doc_files = docFiles), - install = dict(optimize = 1)), - ext_modules = extensions, - packages = ['cx_Freeze'], - maintainer="Anthony Tuininga", - maintainer_email="anthony.tuininga@gmail.com", - url = "http://cx-freeze.sourceforge.net", - scripts = ["cxfreeze"], - classifiers = classifiers, - keywords = "freeze", - license = "Python Software Foundation License") - diff --git a/setup/installer/cx_Freeze/source/bases/Common.c b/setup/installer/cx_Freeze/source/bases/Common.c deleted file mode 100644 index ce1e137ebb..0000000000 --- a/setup/installer/cx_Freeze/source/bases/Common.c +++ /dev/null @@ -1,262 +0,0 @@ -//----------------------------------------------------------------------------- -// Common.c -// Routines which are common to running frozen executables. -//----------------------------------------------------------------------------- - -#include -#include -#include - -// global variables (used for simplicity) -static PyObject *g_FileName = NULL; -static PyObject *g_DirName = NULL; -static PyObject *g_ExclusiveZipFileName = NULL; -static PyObject *g_SharedZipFileName = NULL; -static PyObject *g_InitScriptZipFileName = NULL; - -//----------------------------------------------------------------------------- -// GetDirName() -// Return the directory name of the given path. -//----------------------------------------------------------------------------- -static int GetDirName( - const char *path, // path to calculate dir name for - PyObject **dirName) // directory name (OUT) -{ - int i; - - for (i = strlen(path); i > 0 && path[i] != SEP; --i); - *dirName = PyString_FromStringAndSize(path, i); - if (!*dirName) - return FatalError("cannot create string for directory name"); - return 0; -} - - -//----------------------------------------------------------------------------- -// SetExecutableName() -// Set the script to execute and calculate the directory in which the -// executable is found as well as the exclusive (only for this executable) and -// shared zip file names. -//----------------------------------------------------------------------------- -static int SetExecutableName( - const char *fileName) // script to execute -{ - char temp[MAXPATHLEN + 12], *ptr; -#ifndef WIN32 - char linkData[MAXPATHLEN + 1]; - struct stat statData; - size_t linkSize, i; - PyObject *dirName; -#endif - - // store file name - g_FileName = PyString_FromString(fileName); - if (!g_FileName) - return FatalError("cannot create string for file name"); - -#ifndef WIN32 - for (i = 0; i < 25; i++) { - if (lstat(fileName, &statData) < 0) { - PyErr_SetFromErrnoWithFilename(PyExc_OSError, (char*) fileName); - return FatalError("unable to stat file"); - } - if (!S_ISLNK(statData.st_mode)) - break; - linkSize = readlink(fileName, linkData, sizeof(linkData)); - if (linkSize < 0) { - PyErr_SetFromErrnoWithFilename(PyExc_OSError, (char*) fileName); - return FatalError("unable to stat file"); - } - if (linkData[0] == '/') { - Py_DECREF(g_FileName); - g_FileName = PyString_FromStringAndSize(linkData, linkSize); - } else { - if (GetDirName(PyString_AS_STRING(g_FileName), &dirName) < 0) - return -1; - if (PyString_GET_SIZE(dirName) + linkSize + 1 > MAXPATHLEN) { - Py_DECREF(dirName); - return FatalError("cannot dereference link, path too large"); - } - strcpy(temp, PyString_AS_STRING(dirName)); - strcat(temp, "/"); - strcat(temp, linkData); - Py_DECREF(g_FileName); - g_FileName = PyString_FromString(temp); - } - if (!g_FileName) - return FatalError("cannot create string for linked file name"); - fileName = PyString_AS_STRING(g_FileName); - } -#endif - - // calculate and store directory name - if (GetDirName(fileName, &g_DirName) < 0) - return -1; - - // calculate and store exclusive zip file name - strcpy(temp, fileName); - ptr = temp + strlen(temp) - 1; - while (ptr > temp && *ptr != SEP && *ptr != '.') - ptr--; - if (*ptr == '.') - *ptr = '\0'; - strcat(temp, ".zip"); - g_ExclusiveZipFileName = PyString_FromString(temp); - if (!g_ExclusiveZipFileName) - return FatalError("cannot create string for exclusive zip file name"); - - // calculate and store shared zip file name - strcpy(temp, PyString_AS_STRING(g_DirName)); - ptr = temp + strlen(temp); - *ptr++ = SEP; - strcpy(ptr, "library.zip"); - g_SharedZipFileName = PyString_FromString(temp); - if (!g_SharedZipFileName) - return FatalError("cannot create string for shared zip file name"); - - return 0; -} - - -//----------------------------------------------------------------------------- -// SetPathToSearch() -// Set the path to search. This includes the file (for those situations where -// a zip file is attached to the executable itself), the directory where the -// executable is found (to search for extensions), the exclusive zip file -// name and the shared zip file name. -//----------------------------------------------------------------------------- -static int SetPathToSearch(void) -{ - PyObject *pathList; - - pathList = PySys_GetObject("path"); - if (!pathList) - return FatalError("cannot acquire sys.path"); - if (PyList_Insert(pathList, 0, g_FileName) < 0) - return FatalError("cannot insert file name into sys.path"); - if (PyList_Insert(pathList, 1, g_DirName) < 0) - return FatalError("cannot insert directory name into sys.path"); - if (PyList_Insert(pathList, 2, g_ExclusiveZipFileName) < 0) - return FatalError("cannot insert exclusive zip name into sys.path"); - if (PyList_Insert(pathList, 3, g_SharedZipFileName) < 0) - return FatalError("cannot insert shared zip name into sys.path"); - return 0; -} - - -//----------------------------------------------------------------------------- -// GetImporterHelper() -// Helper which is used to locate the importer for the initscript. -//----------------------------------------------------------------------------- -static PyObject *GetImporterHelper( - PyObject *module, // zipimport module - PyObject *fileName) // name of file to search -{ - PyObject *importer; - - importer = PyObject_CallMethod(module, "zipimporter", "O", fileName); - if (importer) - g_InitScriptZipFileName = fileName; - else - PyErr_Clear(); - return importer; -} - - -//----------------------------------------------------------------------------- -// GetImporter() -// Return the importer which will be used for importing the initialization -// script. The executable itself is searched first, followed by the exclusive -// zip file and finally by the shared zip file. -//----------------------------------------------------------------------------- -static int GetImporter( - PyObject **importer) // importer (OUT) -{ - PyObject *module; - - module = PyImport_ImportModule("zipimport"); - if (!module) - return FatalError("cannot import zipimport module"); - *importer = GetImporterHelper(module, g_FileName); - if (!*importer) { - *importer = GetImporterHelper(module, g_ExclusiveZipFileName); - if (!*importer) - *importer = GetImporterHelper(module, g_SharedZipFileName); - } - Py_DECREF(module); - if (!*importer) - return FatalError("cannot get zipimporter instance"); - return 0; -} - - -//----------------------------------------------------------------------------- -// PopulateInitScriptDict() -// Return the dictionary used by the initialization script. -//----------------------------------------------------------------------------- -static int PopulateInitScriptDict( - PyObject *dict) // dictionary to populate -{ - if (!dict) - return FatalError("unable to create temporary dictionary"); - if (PyDict_SetItemString(dict, "__builtins__", PyEval_GetBuiltins()) < 0) - return FatalError("unable to set __builtins__"); - if (PyDict_SetItemString(dict, "FILE_NAME", g_FileName) < 0) - return FatalError("unable to set FILE_NAME"); - if (PyDict_SetItemString(dict, "DIR_NAME", g_DirName) < 0) - return FatalError("unable to set DIR_NAME"); - if (PyDict_SetItemString(dict, "EXCLUSIVE_ZIP_FILE_NAME", - g_ExclusiveZipFileName) < 0) - return FatalError("unable to set EXCLUSIVE_ZIP_FILE_NAME"); - if (PyDict_SetItemString(dict, "SHARED_ZIP_FILE_NAME", - g_SharedZipFileName) < 0) - return FatalError("unable to set SHARED_ZIP_FILE_NAME"); - if (PyDict_SetItemString(dict, "INITSCRIPT_ZIP_FILE_NAME", - g_InitScriptZipFileName) < 0) - return FatalError("unable to set INITSCRIPT_ZIP_FILE_NAME"); - return 0; -} - - - - -//----------------------------------------------------------------------------- -// ExecuteScript() -// Execute the script found within the file. -//----------------------------------------------------------------------------- -static int ExecuteScript( - const char *fileName) // name of file containing Python code -{ - PyObject *importer, *dict, *code, *temp; - - if (SetExecutableName(fileName) < 0) - return -1; - if (SetPathToSearch() < 0) - return -1; - importer = NULL; - if (GetImporter(&importer) < 0) - return -1; - - // create and populate dictionary for initscript module - dict = PyDict_New(); - if (PopulateInitScriptDict(dict) < 0) { - Py_XDECREF(dict); - Py_DECREF(importer); - return -1; - } - - // locate and execute script - code = PyObject_CallMethod(importer, "get_code", "s", "cx_Freeze__init__"); - Py_DECREF(importer); - if (!code) - return FatalError("unable to locate initialization module"); - temp = PyEval_EvalCode( (PyCodeObject*) code, dict, dict); - Py_DECREF(code); - Py_DECREF(dict); - if (!temp) - return FatalScriptError(); - Py_DECREF(temp); - - return 0; -} - diff --git a/setup/installer/cx_Freeze/source/bases/Console.c b/setup/installer/cx_Freeze/source/bases/Console.c deleted file mode 100644 index d6a8a515a0..0000000000 --- a/setup/installer/cx_Freeze/source/bases/Console.c +++ /dev/null @@ -1,72 +0,0 @@ -//----------------------------------------------------------------------------- -// Console.c -// Main routine for frozen programs which run in a console. -//----------------------------------------------------------------------------- - -#include -#ifdef __WIN32__ -#include -#endif - -//----------------------------------------------------------------------------- -// FatalError() -// Prints a fatal error. -//----------------------------------------------------------------------------- -static int FatalError( - const char *message) // message to print -{ - PyErr_Print(); - Py_FatalError(message); - return -1; -} - - -//----------------------------------------------------------------------------- -// FatalScriptError() -// Prints a fatal error in the initialization script. -//----------------------------------------------------------------------------- -static int FatalScriptError(void) -{ - PyErr_Print(); - return -1; -} - - -#include "Common.c" - - -//----------------------------------------------------------------------------- -// main() -// Main routine for frozen programs. -//----------------------------------------------------------------------------- -int main(int argc, char **argv) -{ - const char *fileName; - char *encoding; - - // initialize Python - Py_NoSiteFlag = 1; - Py_FrozenFlag = 1; - Py_IgnoreEnvironmentFlag = 1; - - encoding = getenv("PYTHONIOENCODING"); - if (encoding != NULL) { - Py_FileSystemDefaultEncoding = strndup(encoding, 100); - } - - Py_SetPythonHome(""); - Py_SetProgramName(argv[0]); - fileName = Py_GetProgramFullPath(); - - Py_Initialize(); - PySys_SetArgv(argc, argv); - - - // do the work - if (ExecuteScript(fileName) < 0) - return 1; - - Py_Finalize(); - return 0; -} - diff --git a/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c b/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c deleted file mode 100644 index 3ad00f8488..0000000000 --- a/setup/installer/cx_Freeze/source/bases/ConsoleKeepPath.c +++ /dev/null @@ -1,60 +0,0 @@ -//----------------------------------------------------------------------------- -// ConsoleKeepPath.c -// Main routine for frozen programs which need a Python installation to do -// their work. -//----------------------------------------------------------------------------- - -#include -#ifdef __WIN32__ -#include -#endif - -//----------------------------------------------------------------------------- -// FatalError() -// Prints a fatal error. -//----------------------------------------------------------------------------- -static int FatalError( - const char *message) // message to print -{ - PyErr_Print(); - Py_FatalError(message); - return -1; -} - - -//----------------------------------------------------------------------------- -// FatalScriptError() -// Prints a fatal error in the initialization script. -//----------------------------------------------------------------------------- -static int FatalScriptError(void) -{ - PyErr_Print(); - return -1; -} - - -#include "Common.c" - - -//----------------------------------------------------------------------------- -// main() -// Main routine for frozen programs. -//----------------------------------------------------------------------------- -int main(int argc, char **argv) -{ - const char *fileName; - - // initialize Python - Py_SetProgramName(argv[0]); - fileName = Py_GetProgramFullPath(); - Py_Initialize(); - PySys_SetArgv(argc, argv); - - // do the work - if (ExecuteScript(fileName) < 0) - return 1; - - Py_Finalize(); - return 0; -} - diff --git a/setup/installer/cx_Freeze/source/bases/Win32GUI.c b/setup/installer/cx_Freeze/source/bases/Win32GUI.c deleted file mode 100644 index f5bbe74dba..0000000000 --- a/setup/installer/cx_Freeze/source/bases/Win32GUI.c +++ /dev/null @@ -1,242 +0,0 @@ -//----------------------------------------------------------------------------- -// Win32GUI.c -// Main routine for frozen programs written for the Win32 GUI subsystem. -//----------------------------------------------------------------------------- - -#include -#include - -//----------------------------------------------------------------------------- -// FatalError() -// Handle a fatal error. -//----------------------------------------------------------------------------- -static int FatalError( - char *a_Message) // message to display -{ - MessageBox(NULL, a_Message, "cx_Freeze Fatal Error", MB_ICONERROR); - Py_Finalize(); - return -1; -} - - -//----------------------------------------------------------------------------- -// StringifyObject() -// Stringify a Python object. -//----------------------------------------------------------------------------- -static char *StringifyObject( - PyObject *object, // object to stringify - PyObject **stringRep) // string representation -{ - if (object) { - *stringRep = PyObject_Str(object); - if (*stringRep) - return PyString_AS_STRING(*stringRep); - return "Unable to stringify"; - } - - // object is NULL - *stringRep = NULL; - return "None"; -} - - -//----------------------------------------------------------------------------- -// FatalPythonErrorNoTraceback() -// Handle a fatal Python error without traceback. -//----------------------------------------------------------------------------- -static int FatalPythonErrorNoTraceback( - PyObject *origType, // exception type - PyObject *origValue, // exception value - char *message) // message to display -{ - PyObject *typeStrRep, *valueStrRep, *origTypeStrRep, *origValueStrRep; - char *totalMessage, *typeStr, *valueStr, *origTypeStr, *origValueStr; - PyObject *type, *value, *traceback; - int totalMessageLength; - char *messageFormat; - - // fetch error and string representations of the error - PyErr_Fetch(&type, &value, &traceback); - origTypeStr = StringifyObject(origType, &origTypeStrRep); - origValueStr = StringifyObject(origValue, &origValueStrRep); - typeStr = StringifyObject(type, &typeStrRep); - valueStr = StringifyObject(value, &valueStrRep); - - // fill out the message to be displayed - messageFormat = "Type: %s\nValue: %s\nOther Type: %s\nOtherValue: %s\n%s"; - totalMessageLength = strlen(origTypeStr) + strlen(origValueStr) + - strlen(typeStr) + strlen(valueStr) + strlen(message) + - strlen(messageFormat) + 1; - totalMessage = malloc(totalMessageLength); - if (!totalMessage) - return FatalError("Out of memory!"); - sprintf(totalMessage, messageFormat, typeStr, valueStr, origTypeStr, - origValueStr, message); - - // display the message - MessageBox(NULL, totalMessage, - "cx_Freeze: Python error in main script (traceback unavailable)", - MB_ICONERROR); - free(totalMessage); - return -1; -} - - -//----------------------------------------------------------------------------- -// ArgumentValue() -// Return a suitable argument value by replacing NULL with Py_None. -//----------------------------------------------------------------------------- -static PyObject *ArgumentValue( - PyObject *object) // argument to massage -{ - if (object) { - Py_INCREF(object); - return object; - } - Py_INCREF(Py_None); - return Py_None; -} - - -//----------------------------------------------------------------------------- -// HandleSystemExitException() -// Handles a system exit exception differently. If an integer value is passed -// through then that becomes the exit value; otherwise the string value of the -// value passed through is displayed in a message box. -//----------------------------------------------------------------------------- -static void HandleSystemExitException() -{ - PyObject *type, *value, *traceback, *valueStr; - int exitCode = 0; - char *message; - - PyErr_Fetch(&type, &value, &traceback); - if (PyInstance_Check(value)) { - PyObject *code = PyObject_GetAttrString(value, "code"); - if (code) { - Py_DECREF(value); - value = code; - if (value == Py_None) - Py_Exit(0); - } - } - if (PyInt_Check(value)) - exitCode = PyInt_AsLong(value); - else { - message = StringifyObject(value, &valueStr); - MessageBox(NULL, message, "cx_Freeze: Application Terminated", - MB_ICONERROR); - Py_XDECREF(valueStr); - exitCode = 1; - } - Py_Exit(exitCode); -} - - -//----------------------------------------------------------------------------- -// FatalScriptError() -// Handle a fatal Python error with traceback. -//----------------------------------------------------------------------------- -static int FatalScriptError() -{ - PyObject *type, *value, *traceback, *argsTuple, *module, *method, *result; - int tracebackLength, i; - char *tracebackStr; - - // if a system exception, handle it specially - if (PyErr_ExceptionMatches(PyExc_SystemExit)) - HandleSystemExitException(); - - // get the exception details - PyErr_Fetch(&type, &value, &traceback); - - // import the traceback module - module = PyImport_ImportModule("traceback"); - if (!module) - return FatalPythonErrorNoTraceback(type, value, - "Cannot import traceback module."); - - // get the format_exception method - method = PyObject_GetAttrString(module, "format_exception"); - Py_DECREF(module); - if (!method) - return FatalPythonErrorNoTraceback(type, value, - "Cannot get format_exception method."); - - // create a tuple for the arguments - argsTuple = PyTuple_New(3); - if (!argsTuple) { - Py_DECREF(method); - return FatalPythonErrorNoTraceback(type, value, - "Cannot create arguments tuple for traceback."); - } - PyTuple_SET_ITEM(argsTuple, 0, ArgumentValue(type)); - PyTuple_SET_ITEM(argsTuple, 1, ArgumentValue(value)); - PyTuple_SET_ITEM(argsTuple, 2, ArgumentValue(traceback)); - - // call the format_exception method - result = PyObject_CallObject(method, argsTuple); - Py_DECREF(method); - Py_DECREF(argsTuple); - if (!result) - return FatalPythonErrorNoTraceback(type, value, - "Failed calling format_exception method."); - - // determine length of string representation of formatted traceback - tracebackLength = 1; - for (i = 0; i < PyList_GET_SIZE(result); i++) - tracebackLength += PyString_GET_SIZE(PyList_GET_ITEM(result, i)); - - // create a string representation of the formatted traceback - tracebackStr = malloc(tracebackLength); - if (!tracebackStr) { - Py_DECREF(result); - return FatalError("Out of memory!"); - } - tracebackStr[0] = '\0'; - for (i = 0; i < PyList_GET_SIZE(result); i++) - strcat(tracebackStr, PyString_AS_STRING(PyList_GET_ITEM(result, i))); - Py_DECREF(result); - - // bring up the error - MessageBox(NULL, tracebackStr, "cx_Freeze: Python error in main script", - MB_ICONERROR); - Py_Finalize(); - return 1; -} - - -#include "Common.c" - - -//----------------------------------------------------------------------------- -// WinMain() -// Main routine for the executable in Windows. -//----------------------------------------------------------------------------- -int WINAPI WinMain( - HINSTANCE instance, // handle to application - HINSTANCE prevInstance, // previous handle to application - LPSTR commandLine, // command line - int showFlag) // show flag -{ - const char *fileName; - - // initialize Python - Py_NoSiteFlag = 1; - Py_FrozenFlag = 1; - Py_IgnoreEnvironmentFlag = 1; - Py_SetPythonHome(""); - Py_SetProgramName(__argv[0]); - fileName = Py_GetProgramFullPath(); - Py_Initialize(); - PySys_SetArgv(__argc, __argv); - - // do the work - if (ExecuteScript(fileName) < 0) - return 1; - - // terminate Python - Py_Finalize(); - return 0; -} - diff --git a/setup/installer/cx_Freeze/source/bases/dummy.rc b/setup/installer/cx_Freeze/source/bases/dummy.rc deleted file mode 100644 index 5c1fa1a194..0000000000 --- a/setup/installer/cx_Freeze/source/bases/dummy.rc +++ /dev/null @@ -1,5 +0,0 @@ -STRINGTABLE -{ - 1, "Just to ensure that buggy EndUpdateResource doesn't fall over." -} - diff --git a/setup/installer/cx_Freeze/source/bases/manifest.rc b/setup/installer/cx_Freeze/source/bases/manifest.rc deleted file mode 100644 index 2b7ee27ab5..0000000000 --- a/setup/installer/cx_Freeze/source/bases/manifest.rc +++ /dev/null @@ -1,3 +0,0 @@ -#include "dummy.rc" - -1 24 source/bases/manifest.txt diff --git a/setup/installer/cx_Freeze/source/util.c b/setup/installer/cx_Freeze/source/util.c deleted file mode 100644 index 1c8eb0c0ca..0000000000 --- a/setup/installer/cx_Freeze/source/util.c +++ /dev/null @@ -1,418 +0,0 @@ -//----------------------------------------------------------------------------- -// util.c -// Shared library for use by cx_Freeze. -//----------------------------------------------------------------------------- - -#include - -#ifdef WIN32 -#include -#include - -#pragma pack(2) - -typedef struct { - BYTE bWidth; // Width, in pixels, of the image - BYTE bHeight; // Height, in pixels, of the image - BYTE bColorCount; // Number of colors in image - BYTE bReserved; // Reserved ( must be 0) - WORD wPlanes; // Color Planes - WORD wBitCount; // Bits per pixel - DWORD dwBytesInRes; // How many bytes in this resource? - DWORD dwImageOffset; // Where in the file is this image? -} ICONDIRENTRY; - -typedef struct { - WORD idReserved; // Reserved (must be 0) - WORD idType; // Resource Type (1 for icons) - WORD idCount; // How many images? - ICONDIRENTRY idEntries[0]; // An entry for each image -} ICONDIR; - -typedef struct { - BYTE bWidth; // Width, in pixels, of the image - BYTE bHeight; // Height, in pixels, of the image - BYTE bColorCount; // Number of colors in image - BYTE bReserved; // Reserved ( must be 0) - WORD wPlanes; // Color Planes - WORD wBitCount; // Bits per pixel - DWORD dwBytesInRes; // How many bytes in this resource? - WORD nID; // resource ID -} GRPICONDIRENTRY; - -typedef struct { - WORD idReserved; // Reserved (must be 0) - WORD idType; // Resource Type (1 for icons) - WORD idCount; // How many images? - GRPICONDIRENTRY idEntries[0]; // An entry for each image -} GRPICONDIR; -#endif - -//----------------------------------------------------------------------------- -// Globals -//----------------------------------------------------------------------------- -#ifdef WIN32 -static PyObject *g_BindErrorException = NULL; -static PyObject *g_ImageNames = NULL; -#endif - - -#ifdef WIN32 -//----------------------------------------------------------------------------- -// BindStatusRoutine() -// Called by BindImageEx() at various points. This is used to determine the -// dependency tree which is later examined by cx_Freeze. -//----------------------------------------------------------------------------- -static BOOL __stdcall BindStatusRoutine( - IMAGEHLP_STATUS_REASON reason, // reason called - PSTR imageName, // name of image being examined - PSTR dllName, // name of DLL - ULONG virtualAddress, // computed virtual address - ULONG parameter) // parameter (value depends on reason) -{ - char fileName[MAX_PATH + 1]; - - switch (reason) { - case BindImportModule: - if (!SearchPath(NULL, dllName, NULL, sizeof(fileName), fileName, - NULL)) - return FALSE; - Py_INCREF(Py_None); - if (PyDict_SetItemString(g_ImageNames, fileName, Py_None) < 0) - return FALSE; - break; - default: - break; - } - return TRUE; -} - - -//----------------------------------------------------------------------------- -// GetFileData() -// Return the data for the given file. -//----------------------------------------------------------------------------- -static int GetFileData( - const char *fileName, // name of file to read - char **data) // pointer to data (OUT) -{ - DWORD numberOfBytesRead, dataSize; - HANDLE file; - - file = CreateFile(fileName, GENERIC_READ, FILE_SHARE_READ, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - if (file == INVALID_HANDLE_VALUE) - return -1; - dataSize = GetFileSize(file, NULL); - if (dataSize == INVALID_FILE_SIZE) { - CloseHandle(file); - return -1; - } - *data = PyMem_Malloc(dataSize); - if (!*data) { - CloseHandle(file); - return -1; - } - if (!ReadFile(file, *data, dataSize, &numberOfBytesRead, NULL)) { - CloseHandle(file); - return -1; - } - CloseHandle(file); - return 0; -} - - -//----------------------------------------------------------------------------- -// CreateGroupIconResource() -// Return the group icon resource given the icon file data. -//----------------------------------------------------------------------------- -static GRPICONDIR *CreateGroupIconResource( - ICONDIR *iconDir, // icon information - DWORD *resourceSize) // size of resource (OUT) -{ - GRPICONDIR *groupIconDir; - int i; - - *resourceSize = sizeof(GRPICONDIR) + - sizeof(GRPICONDIRENTRY) * iconDir->idCount; - groupIconDir = PyMem_Malloc(*resourceSize); - if (!groupIconDir) - return NULL; - groupIconDir->idReserved = iconDir->idReserved; - groupIconDir->idType = iconDir->idType; - groupIconDir->idCount = iconDir->idCount; - for (i = 0; i < iconDir->idCount; i++) { - groupIconDir->idEntries[i].bWidth = iconDir->idEntries[i].bWidth; - groupIconDir->idEntries[i].bHeight = iconDir->idEntries[i].bHeight; - groupIconDir->idEntries[i].bColorCount = - iconDir->idEntries[i].bColorCount; - groupIconDir->idEntries[i].bReserved = iconDir->idEntries[i].bReserved; - groupIconDir->idEntries[i].wPlanes = iconDir->idEntries[i].wPlanes; - groupIconDir->idEntries[i].wBitCount = iconDir->idEntries[i].wBitCount; - groupIconDir->idEntries[i].dwBytesInRes = - iconDir->idEntries[i].dwBytesInRes; - groupIconDir->idEntries[i].nID = i + 1; - } - - return groupIconDir; -} - - -//----------------------------------------------------------------------------- -// ExtAddIcon() -// Add the icon as a resource to the specified file. -//----------------------------------------------------------------------------- -static PyObject *ExtAddIcon( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - char *executableName, *iconName, *data, *iconData; - GRPICONDIR *groupIconDir; - DWORD resourceSize; - ICONDIR *iconDir; - BOOL succeeded; - HANDLE handle; - int i; - - if (!PyArg_ParseTuple(args, "ss", &executableName, &iconName)) - return NULL; - - // begin updating the executable - handle = BeginUpdateResource(executableName, FALSE); - if (!handle) { - PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, - GetLastError(), executableName); - return NULL; - } - - // first attempt to get the data from the icon file - data = NULL; - succeeded = TRUE; - groupIconDir = NULL; - if (GetFileData(iconName, &data) < 0) - succeeded = FALSE; - iconDir = (ICONDIR*) data; - - // next, attempt to add a group icon resource - if (succeeded) { - groupIconDir = CreateGroupIconResource(iconDir, &resourceSize); - if (groupIconDir) - succeeded = UpdateResource(handle, RT_GROUP_ICON, - MAKEINTRESOURCE(1), - MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), - groupIconDir, resourceSize); - else succeeded = FALSE; - } - - // next, add each icon as a resource - if (succeeded) { - for (i = 0; i < iconDir->idCount; i++) { - iconData = &data[iconDir->idEntries[i].dwImageOffset]; - resourceSize = iconDir->idEntries[i].dwBytesInRes; - succeeded = UpdateResource(handle, RT_ICON, MAKEINTRESOURCE(i + 1), - MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), iconData, - resourceSize); - if (!succeeded) - break; - } - } - - // finish writing the resource (or discarding the changes upon an error) - if (!EndUpdateResource(handle, !succeeded)) { - if (succeeded) { - succeeded = FALSE; - PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, - GetLastError(), executableName); - } - } - - // clean up - if (groupIconDir) - PyMem_Free(groupIconDir); - if (data) - PyMem_Free(data); - if (!succeeded) - return NULL; - - Py_INCREF(Py_None); - return Py_None; -} - - -//----------------------------------------------------------------------------- -// ExtBeginUpdateResource() -// Wrapper for BeginUpdateResource(). -//----------------------------------------------------------------------------- -static PyObject *ExtBeginUpdateResource( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - BOOL deleteExistingResources; - char *fileName; - HANDLE handle; - - deleteExistingResources = TRUE; - if (!PyArg_ParseTuple(args, "s|i", &fileName, &deleteExistingResources)) - return NULL; - handle = BeginUpdateResource(fileName, deleteExistingResources); - if (!handle) { - PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, - GetLastError(), fileName); - return NULL; - } - return PyInt_FromLong((long) handle); -} - - -//----------------------------------------------------------------------------- -// ExtUpdateResource() -// Wrapper for UpdateResource(). -//----------------------------------------------------------------------------- -static PyObject *ExtUpdateResource( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - int resourceType, resourceId, resourceDataSize; - char *resourceData; - HANDLE handle; - - if (!PyArg_ParseTuple(args, "iiis#", &handle, &resourceType, &resourceId, - &resourceData, &resourceDataSize)) - return NULL; - if (!UpdateResource(handle, MAKEINTRESOURCE(resourceType), - MAKEINTRESOURCE(resourceId), - MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), resourceData, - resourceDataSize)) { - PyErr_SetExcFromWindowsErr(PyExc_WindowsError, GetLastError()); - return NULL; - } - - Py_INCREF(Py_None); - return Py_None; -} - - -//----------------------------------------------------------------------------- -// ExtEndUpdateResource() -// Wrapper for EndUpdateResource(). -//----------------------------------------------------------------------------- -static PyObject *ExtEndUpdateResource( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - BOOL discardChanges; - HANDLE handle; - - discardChanges = FALSE; - if (!PyArg_ParseTuple(args, "i|i", &handle, &discardChanges)) - return NULL; - if (!EndUpdateResource(handle, discardChanges)) { - PyErr_SetExcFromWindowsErr(PyExc_WindowsError, GetLastError()); - return NULL; - } - - Py_INCREF(Py_None); - return Py_None; -} - - -//----------------------------------------------------------------------------- -// ExtGetDependentFiles() -// Return a list of files that this file depends on. -//----------------------------------------------------------------------------- -static PyObject *ExtGetDependentFiles( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - PyObject *results; - char *imageName; - - if (!PyArg_ParseTuple(args, "s", &imageName)) - return NULL; - g_ImageNames = PyDict_New(); - if (!g_ImageNames) - return NULL; - if (!BindImageEx(BIND_NO_BOUND_IMPORTS | BIND_NO_UPDATE | BIND_ALL_IMAGES, - imageName, NULL, NULL, BindStatusRoutine)) { - Py_DECREF(g_ImageNames); - PyErr_SetExcFromWindowsErrWithFilename(g_BindErrorException, - GetLastError(), imageName); - return NULL; - } - results = PyDict_Keys(g_ImageNames); - Py_DECREF(g_ImageNames); - return results; -} - - -//----------------------------------------------------------------------------- -// ExtGetSystemDir() -// Return the Windows directory (C:\Windows for example). -//----------------------------------------------------------------------------- -static PyObject *ExtGetSystemDir( - PyObject *self, // passthrough argument - PyObject *args) // arguments (ignored) -{ - char dir[MAX_PATH + 1]; - - if (GetSystemDirectory(dir, sizeof(dir))) - return PyString_FromString(dir); - PyErr_SetExcFromWindowsErr(PyExc_RuntimeError, GetLastError()); - return NULL; -} -#endif - - -//----------------------------------------------------------------------------- -// ExtSetOptimizeFlag() -// Set the optimize flag as needed. -//----------------------------------------------------------------------------- -static PyObject *ExtSetOptimizeFlag( - PyObject *self, // passthrough argument - PyObject *args) // arguments -{ - if (!PyArg_ParseTuple(args, "i", &Py_OptimizeFlag)) - return NULL; - Py_INCREF(Py_None); - return Py_None; -} - - -//----------------------------------------------------------------------------- -// Methods -//----------------------------------------------------------------------------- -static PyMethodDef g_ModuleMethods[] = { - { "SetOptimizeFlag", ExtSetOptimizeFlag, METH_VARARGS }, -#ifdef WIN32 - { "BeginUpdateResource", ExtBeginUpdateResource, METH_VARARGS }, - { "UpdateResource", ExtUpdateResource, METH_VARARGS }, - { "EndUpdateResource", ExtEndUpdateResource, METH_VARARGS }, - { "AddIcon", ExtAddIcon, METH_VARARGS }, - { "GetDependentFiles", ExtGetDependentFiles, METH_VARARGS }, - { "GetSystemDir", ExtGetSystemDir, METH_NOARGS }, -#endif - { NULL } -}; - - -//----------------------------------------------------------------------------- -// initutil() -// Initialization routine for the shared libary. -//----------------------------------------------------------------------------- -void initutil(void) -{ - PyObject *module; - - module = Py_InitModule("cx_Freeze.util", g_ModuleMethods); - if (!module) - return; -#ifdef WIN32 - g_BindErrorException = PyErr_NewException("cx_Freeze.util.BindError", - NULL, NULL); - if (!g_BindErrorException) - return; - if (PyModule_AddObject(module, "BindError", g_BindErrorException) < 0) - return; -#endif -} - diff --git a/setup/installer/linux/__init__.py b/setup/installer/linux/__init__.py index f80efbd125..68f29362ee 100644 --- a/setup/installer/linux/__init__.py +++ b/setup/installer/linux/__init__.py @@ -17,7 +17,8 @@ class Linux32(VMInstaller): INSTALLER_EXT = 'tar.bz2' VM_NAME = 'gentoo32_build' VM = '/vmware/bin/gentoo32_build' - FREEZE_COMMAND = 'linux_freeze' + FREEZE_COMMAND = 'linux_freeze2' + FREEZE_TEMPLATE = 'sudo python -OO setup.py {freeze_command}' class Linux64(Linux32): diff --git a/setup/installer/linux/freeze.py b/setup/installer/linux/freeze.py index 954033fb1b..6cbe7accf6 100644 --- a/setup/installer/linux/freeze.py +++ b/setup/installer/linux/freeze.py @@ -46,7 +46,6 @@ class LinuxFreeze(Command): '/usr/lib/libunrar.so', '/usr/lib/libchm.so.0', '/usr/lib/libsqlite3.so.0', - '/usr/lib/libsqlite3.so.0', '/usr/lib/libmng.so.1', '/usr/lib/libpodofo.so.0.8.2', '/lib/libz.so.1', diff --git a/setup/installer/linux/freeze2.py b/setup/installer/linux/freeze2.py index cd8443e11c..b30762f4b6 100644 --- a/setup/installer/linux/freeze2.py +++ b/setup/installer/linux/freeze2.py @@ -6,10 +6,22 @@ __license__ = 'GPL v3' __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' -import sys, os, shutil, platform, subprocess, stat, py_compile, glob +import sys, os, shutil, platform, subprocess, stat, py_compile, glob, \ + textwrap, tarfile -from setup import Command, modules, basenames, functions +from setup import Command, modules, basenames, functions, __version__, \ + __appname__ +SITE_PACKAGES = ['IPython', 'PIL', 'dateutil', 'dns', 'PyQt4', 'mechanize', + 'sip.so', 'BeautifulSoup.py', 'cssutils', 'encutils', 'lxml', + 'sipconfig.py', 'xdg'] + + + +gcc = subprocess.Popen(["gcc-config", "-c"], stdout=subprocess.PIPE).communicate()[0] +chost, _, gcc = gcc.rpartition('-') +stdcpp = '/usr/lib/gcc/%s/%s/libstdc++.so.?'%(chost.strip(), gcc.strip()) +stdcpp = glob.glob(stdcpp)[-1] is64bit = platform.architecture()[0] == '64bit' arch = 'x86_64' if is64bit else 'i686' ffi = '/usr/lib/libffi.so.5' if is64bit else '/usr/lib/gcc/i686-pc-linux-gnu/4.4.1/libffi.so.4' @@ -25,38 +37,35 @@ binary_includes = [ '/usr/lib/liblcms.so.1', '/usr/lib/libunrar.so', '/usr/lib/libsqlite3.so.0', - '/usr/lib/libsqlite3.so.0', '/usr/lib/libmng.so.1', - '/usr/lib/libpodofo.so.0.6.99', + '/usr/lib/libpodofo.so.0.8.4', '/lib/libz.so.1', - '/usr/lib/libtiff.so.3', + '/usr/lib/libtiff.so.5', '/lib/libbz2.so.1', - '/usr/lib/libpoppler.so.5', + '/usr/lib/libpoppler.so.7', '/usr/lib/libxml2.so.2', '/usr/lib/libopenjpeg.so.2', '/usr/lib/libxslt.so.1', - '/usr/lib/libjpeg.so.7', + '/usr/lib/libjpeg.so.8', '/usr/lib/libxslt.so.1', '/usr/lib/libgthread-2.0.so.0', - '/usr/lib/gcc/***-pc-linux-gnu/4.4.1/libstdc++.so.6'.replace('***', - arch), + stdcpp, ffi, - '/usr/lib/libpng12.so.0', + '/usr/lib/libpng14.so.14', '/usr/lib/libexslt.so.0', - '/usr/lib/libMagickWand.so.2', - '/usr/lib/libMagickCore.so.2', + '/usr/lib/libMagickWand.so.4', + '/usr/lib/libMagickCore.so.4', '/usr/lib/libgcrypt.so.11', '/usr/lib/libgpg-error.so.0', '/usr/lib/libphonon.so.4', - '/usr/lib/libssl.so.0.9.8', - '/usr/lib/libcrypto.so.0.9.8', + '/usr/lib/libssl.so.1.0.0', + '/usr/lib/libcrypto.so.1.0.0', '/lib/libreadline.so.6', + '/usr/lib/libchm.so.0', + '/usr/lib/liblcms2.so.2', ] binary_includes += [os.path.join(QTDIR, 'lib%s.so.4'%x) for x in QTDLLS] -SITE_PACKAGES = ['IPython', 'PIL', 'dateutil', 'dns', 'PyQt4', 'mechanize', - 'sip.so', 'BeautifulSoup.py', 'ClientForm.py', 'lxml'] - class LinuxFreeze2(Command): def run(self, opts): @@ -68,11 +77,12 @@ class LinuxFreeze2(Command): self.lib_dir = self.j(self.base, 'lib') self.bin_dir = self.j(self.base, 'bin') - #self.initbase() - #self.copy_libs() - #self.copy_python() - #self.compile_mount_helper() + self.initbase() + self.copy_libs() + self.copy_python() + self.compile_mount_helper() self.build_launchers() + self.create_tarfile() def initbase(self): if os.path.exists(self.base): @@ -109,7 +119,7 @@ class LinuxFreeze2(Command): 'linux_mount_helper.c'), '-o', dest]) os.chown(dest, 0, 0) os.chmod(dest, stat.S_ISUID|stat.S_ISGID|stat.S_IRUSR|stat.S_IWUSR|\ - stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH) + stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH|stat.S_IRGRP|stat.S_IROTH) self.drop_privileges() def copy_python(self): @@ -117,27 +127,30 @@ class LinuxFreeze2(Command): def ignore_in_lib(base, items): ans = [] - for x in items: - x = os.path.join(base, x) + for y in items: + x = os.path.join(base, y) if (os.path.isfile(x) and os.path.splitext(x)[1] in ('.so', '.py')) or \ - (os.path.isdir(x) and x in ('.svn', '.bzr', 'test')): + (os.path.isdir(x) and x not in ('.svn', '.bzr', 'test', 'tests', + 'testing')): continue - ans.append(x) + ans.append(y) return ans srcdir = self.j('/usr/lib/python'+self.py_ver) self.py_dir = self.j(self.lib_dir, self.b(srcdir)) - os.mkdir(self.py_dir) + if not os.path.exists(self.py_dir): + os.mkdir(self.py_dir) for x in os.listdir(srcdir): y = self.j(srcdir, x) ext = os.path.splitext(x)[1] if os.path.isdir(y) and x not in ('test', 'hotshot', 'distutils', - 'site-packages', 'idlelib', 'test', 'lib2to3'): + 'site-packages', 'idlelib', 'lib2to3', 'dist-packages'): shutil.copytree(y, self.j(self.py_dir, x), ignore=ignore_in_lib) - if os.path.isfile(y) and ext in ('.py', '.so'): + if os.path.isfile(y) and ext in ('.py', '.so') and \ + self.b(y) not in ('pdflib_py.so',): shutil.copy2(y, self.py_dir) srcdir = self.j(srcdir, 'site-packages') @@ -155,13 +168,19 @@ class LinuxFreeze2(Command): for x in os.listdir(self.SRC): shutil.copytree(self.j(self.SRC, x), self.j(dest, x), ignore=ignore_in_lib) - for x in ('translations', 'manual'): + for x in ('manual', 'trac'): x = self.j(dest, 'calibre', x) - shutil.rmtree(x) + if os.path.exists(x): + shutil.rmtree(x) + + for x in glob.glob(self.j(dest, 'calibre', 'translations', '*.po')): + os.remove(x) shutil.copytree(self.j(self.src_root, 'resources'), self.j(self.base, 'resources')) + self.create_site_py() + for x in os.walk(self.py_dir): for f in x[-1]: if f.endswith('.py'): @@ -176,17 +195,37 @@ class LinuxFreeze2(Command): except: self.warn('Failed to byte-compile', y) - def run_builder(self, cmd): + + def run_builder(self, cmd, verbose=True): p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - self.info(*cmd) - self.info(p.stdout.read()) - self.info(p.stderr.read()) + if verbose: + self.info(*cmd) + x = p.stdout.read() + p.stderr.read() + if x.strip(): + self.info(x.strip()) if p.wait() != 0: self.info('Failed to run builder') sys.exit(1) + def create_tarfile(self): + self.info('Creating archive...') + dist = os.path.join(self.d(self.SRC), 'dist', + '%s-%s-%s.tar.bz2'%(__appname__, __version__, arch)) + with tarfile.open(dist, mode='w:bz2', + format=tarfile.PAX_FORMAT) as tf: + cwd = os.getcwd() + os.chdir(self.base) + try: + for x in os.listdir('.'): + tf.add(x) + finally: + os.chdir(cwd) + self.info('Archive %s created: %.2f MB'%(dist, + os.stat(dist).st_size/(1024.**2))) + + def build_launchers(self): self.obj_dir = self.j(self.src_root, 'build', 'launcher') if not os.path.exists(self.obj_dir): @@ -195,7 +234,7 @@ class LinuxFreeze2(Command): sources = [self.j(base, x) for x in ['util.c']] headers = [self.j(base, x) for x in ['util.h']] objects = [self.j(self.obj_dir, self.b(x)+'.o') for x in sources] - cflags = '-W -Wall -c -O2 -pipe -DPYTHON_VER="python%s"'%self.py_ver + cflags = '-fno-strict-aliasing -W -Wall -c -O2 -pipe -DPYTHON_VER="python%s"'%self.py_ver cflags = cflags.split() + ['-I/usr/include/python'+self.py_ver] for src, obj in zip(sources, objects): if not self.newer(obj, headers+[src, __file__]): continue @@ -210,34 +249,109 @@ class LinuxFreeze2(Command): self.run_builder(cmd) src = self.j(base, 'main.c') + + modules['console'].append('calibre.linux') + basenames['console'].append('calibre_postinstall') + functions['console'].append('main') for typ in ('console', 'gui', ): self.info('Processing %s launchers'%typ) for mod, bname, func in zip(modules[typ], basenames[typ], functions[typ]): xflags = list(cflags) - xflags += ['-DGUI_APP='+('1' if type == 'gui' else '0')] + xflags += ['-DGUI_APP='+('1' if typ == 'gui' else '0')] xflags += ['-DMODULE="%s"'%mod, '-DBASENAME="%s"'%bname, '-DFUNCTION="%s"'%func] + launcher = textwrap.dedent('''\ + #!/bin/sh + path=`readlink -e $0` + base=`dirname $path` + lib=$base/lib + export LD_LIBRARY_PATH=$lib:$LD_LIBRARY_PATH + export QT_PLUGIN_PATH=$lib/qt_plugins + export MAGICK_CONFIGURE_PATH=$lib/ImageMagick/config + export MAGICK_CODER_MODULE_PATH=$lib/ImageMagick/modules-Q16/coders + export MAGICK_CODER_FILTER_PATH=$lib/ImageMagick/modules-Q16/filters + $base/bin/{0} "$@" + ''') + dest = self.j(self.obj_dir, bname+'.o') if self.newer(dest, [src, __file__]+headers): self.info('Compiling', bname) cmd = ['gcc'] + xflags + [src, '-o', dest] - self.run_builder(cmd) + self.run_builder(cmd, verbose=False) exe = self.j(self.bin_dir, bname) + sh = self.j(self.base, bname) + with open(sh, 'wb') as f: + f.write(launcher.format(bname)) + os.chmod(sh, + stat.S_IREAD|stat.S_IEXEC|stat.S_IWRITE|stat.S_IRGRP|stat.S_IXGRP|stat.S_IROTH|stat.S_IXOTH) + if self.newer(exe, [dest, __file__]): self.info('Linking', bname) - cmd = ['gcc', '-O2', '-Wl,--rpath=$ORIGIN/../lib', + cmd = ['gcc', '-O2', '-o', exe, dest, '-L'+self.lib_dir, '-lcalibre-launcher', ] - self.run_builder(cmd) + self.run_builder(cmd, verbose=False) + def create_site_py(self): # {{{ + with open(self.j(self.py_dir, 'site.py'), 'wb') as f: + f.write(textwrap.dedent('''\ + import sys + import encodings + import __builtin__ + import locale + import os + import codecs + + def set_default_encoding(): + locale.setlocale(locale.LC_ALL, '') + enc = locale.getdefaultlocale()[1] + if not enc: + enc = locale.nl_langinfo(locale.CODESET) + if not enc or enc.lower() == 'ascii': + enc = 'UTF-8' + enc = codecs.lookup(enc).name + sys.setdefaultencoding(enc) + del sys.setdefaultencoding + + class _Helper(object): + """Define the builtin 'help'. + This is a wrapper around pydoc.help (with a twist). + + """ + + def __repr__(self): + return "Type help() for interactive help, " \ + "or help(object) for help about object." + def __call__(self, *args, **kwds): + import pydoc + return pydoc.help(*args, **kwds) + + def set_helper(): + __builtin__.help = _Helper() + def main(): + try: + sys.argv[0] = sys.calibre_basename + set_default_encoding() + set_helper() + mod = __import__(sys.calibre_module, fromlist=[1]) + func = getattr(mod, sys.calibre_function) + return func() + except SystemExit: + raise + except: + import traceback + traceback.print_exc() + return 1 + ''')) + # }}} diff --git a/setup/installer/linux/util.c b/setup/installer/linux/util.c index f7482d2501..dfbaaef62c 100644 --- a/setup/installer/linux/util.c +++ b/setup/installer/linux/util.c @@ -11,10 +11,8 @@ static char exe_path[PATH_MAX]; static char base_dir[PATH_MAX]; static char bin_dir[PATH_MAX]; static char lib_dir[PATH_MAX]; -static char qt_dir[PATH_MAX]; static char extensions_dir[PATH_MAX]; static char resources_dir[PATH_MAX]; -static char magick_dir[PATH_MAX]; void set_gui_app(bool yes) { GUI_APP = yes; } @@ -26,7 +24,8 @@ int report_error(const char *msg, int code) { int report_libc_error(const char *msg) { char buf[2000]; int err = errno; - snprintf("%s::%s", 2000, msg, strerror(err)); + + snprintf(buf, 2000, "%s::%s", msg, strerror(err)); return report_error(buf, err); } @@ -122,54 +121,31 @@ static void get_paths() exit(report_error("No path separators in executable path", EXIT_FAILURE)); } strncat(base_dir, exe_path, p - exe_path); - strcat(base_dir, "\0"); + p = rindex(base_dir, '/'); + if (p == NULL) { + exit(report_error("Only one path separator in executable path", EXIT_FAILURE)); + } + *p = 0; + snprintf(bin_dir, PATH_MAX, "%s/bin", base_dir); snprintf(lib_dir, PATH_MAX, "%s/lib", base_dir); - snprintf(magick_dir, PATH_MAX, "%s/ImageMagick", lib_dir); - snprintf(qt_dir, PATH_MAX, "%s/qt_plugins", lib_dir); snprintf(resources_dir, PATH_MAX, "%s/resources", base_dir); snprintf(extensions_dir, PATH_MAX, "%s/%s/site-packages/calibre/plugins", lib_dir, PYTHON_VER); } -void init_env() { - char buf[PATH_MAX]; - - if (setenv("QT_PLUGIN_PATH", qt_dir, 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - - snprintf(buf, PATH_MAX, "%s/config", magick_dir); - if (setenv("MAGICK_CONFIGURE_PATH", buf, 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - - snprintf(buf, PATH_MAX, "%s/modules-Q16/coders", magick_dir); - if (setenv("MAGICK_CODER_MODULE_PATH", buf, 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - - snprintf(buf, PATH_MAX, "%s/modules-Q16/filters", magick_dir); - if (setenv("MAGICK_CODER_FILTER_PATH", buf, 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - - if (setenv("PYTHONIOENCODING", "utf-8", 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - - if (setenv("PYTHONHOME", base_dir, 1) == -1) - exit(report_libc_error("Failed to set environment variable")); - -} void setup_stream(const char *name, const char *errors) { PyObject *stream; - char *buf = (char *)calloc(100, sizeof(char)); - if (!buf) OOM; + char buf[100]; - snprintf(buf, 100, "%s", "utf-8"); + snprintf(buf, 20, "%s", name); + stream = PySys_GetObject(buf); - stream = PySys_GetObject(name); + snprintf(buf, 20, "%s", "utf-8"); + snprintf(buf+21, 30, "%s", errors); - if (!PyFile_SetEncodingAndErrors(stream, buf, errors)) + if (!PyFile_SetEncodingAndErrors(stream, buf, buf+21)) exit(report_python_error("Failed to set stream encoding", 1)); - - free(buf); } @@ -187,10 +163,9 @@ void setup_streams() { void initialize_interpreter(int argc, char **argv, char *outr, char *errr, const char *basename, const char *module, const char *function) { - char *path; + char *path, *encoding, *p; get_paths(); - init_env(); path = (char*)calloc(3*PATH_MAX, sizeof(char)); if (!path) OOM; @@ -213,6 +188,17 @@ void initialize_interpreter(int argc, char **argv, char *outr, char *errr, //printf("Path before Py_Initialize(): %s\r\n\n", Py_GetPath()); Py_Initialize(); + if (!Py_FileSystemDefaultEncoding) { + encoding = getenv("PYTHONIOENCODING"); + if (encoding != NULL) { + Py_FileSystemDefaultEncoding = strndup(encoding, 20); + p = index(Py_FileSystemDefaultEncoding, ':'); + if (p != NULL) *p = 0; + } else + Py_FileSystemDefaultEncoding = strndup("UTF-8", 10); + } + + setup_streams(); PySys_SetArgv(argc, argv); @@ -220,16 +206,21 @@ void initialize_interpreter(int argc, char **argv, char *outr, char *errr, PySys_SetPath(path); //printf("Path set by me: %s\r\n\n", path); PySys_SetObject("gui_app", PyBool_FromLong((long)GUI_APP)); - PySys_SetObject("app_dir", PyString_FromString(base_dir)); - PySys_SetObject("calibre_basename", PyBytes_FromString(basename)); PySys_SetObject("calibre_module", PyBytes_FromString(module)); PySys_SetObject("calibre_function", PyBytes_FromString(function)); + PySys_SetObject("extensions_location", PyBytes_FromString(extensions_dir)); + PySys_SetObject("resources_location", PyBytes_FromString(resources_dir)); + PySys_SetObject("executables_location", PyBytes_FromString(base_dir)); + PySys_SetObject("frozen_path", PyBytes_FromString(base_dir)); + PySys_SetObject("frozen", Py_True); + Py_INCREF(Py_True); - //if (GUI_APP && outr && errr) { + + if (GUI_APP && outr && errr) { // PySys_SetObject("stdout_redirect", PyUnicode_FromWideChar(outr, wcslen(outr))); // PySys_SetObject("stderr_redirect", PyUnicode_FromWideChar(errr, wcslen(outr))); - //} + } } @@ -256,6 +247,8 @@ int execute_python_entrypoint(int argc, char **argv, const char *basename, const if (res == NULL) ret = report_python_error("Python function terminated unexpectedly", 1); + + ret = pyobject_to_int(res); } } PyErr_Clear(); diff --git a/setup/installer/windows/notes.rst b/setup/installer/windows/notes.rst index ed78bf3158..9c553c42e8 100644 --- a/setup/installer/windows/notes.rst +++ b/setup/installer/windows/notes.rst @@ -21,7 +21,7 @@ This is where all dependencies will be installed. Add C:\Python27\Scripts and C:\Python27 to PATH -Edit mimetypes.py in C:\Python27\Lib and change line 250 UnicodeEncodeError to ValueError and set _winreg = None to prevent reading of mimetypes from the windows registry +Edit mimetypes.py in C:\Python27\Lib and set _winreg = None to prevent reading of mimetypes from the windows registry Install setuptools from http://pypi.python.org/pypi/setuptools If there are no windows binaries already compiled for the version of python you are using then download the source and run the following command in the folder where the source has been unpacked:: @@ -36,6 +36,7 @@ Install BeautifulSoup 3.0.x manually into site-packages (3.1.x parses broken HTM Install pywin32 and edit win32com\__init__.py setting _frozen = True and __gen_path__ to a temp dir (otherwise it tries to set it to a dir in the install tree which leads to permission errors) +Also edit win32com\client\gencache.py and change the except IOError on line 57 to catch all exceptions. SQLite --------- diff --git a/src/calibre/devices/usbms/device.py b/src/calibre/devices/usbms/device.py index f826167d16..af2948cf82 100644 --- a/src/calibre/devices/usbms/device.py +++ b/src/calibre/devices/usbms/device.py @@ -586,8 +586,8 @@ class Device(DeviceConfig, DevicePlugin): pass cmd = 'calibre-mount-helper' - if getattr(sys, 'frozen_path', False): - cmd = os.path.join(sys.frozen_path, cmd) + if getattr(sys, 'frozen', False): + cmd = os.path.join(sys.executables_location, 'bin', cmd) cmd = [cmd, 'mount'] try: p = subprocess.Popen(cmd + [node, '/media/'+label]) @@ -754,8 +754,8 @@ class Device(DeviceConfig, DevicePlugin): for drive in drives: cmd = 'calibre-mount-helper' - if getattr(sys, 'frozen_path', False): - cmd = os.path.join(sys.frozen_path, cmd) + if getattr(sys, 'frozen', False): + cmd = os.path.join(sys.executables_location, 'bin', cmd) cmd = [cmd, 'eject'] mp = getattr(self, "_linux_mount_map", {}).get(drive, 'dummy/')[:-1] @@ -787,8 +787,8 @@ class Device(DeviceConfig, DevicePlugin): if drive and mp: mp = mp[:-1] cmd = 'calibre-mount-helper' - if getattr(sys, 'frozen_path', False): - cmd = os.path.join(sys.frozen_path, cmd) + if getattr(sys, 'frozen', False): + cmd = os.path.join(sys.executables_location, 'bin', cmd) cmd = [cmd, 'cleanup'] if mp and os.path.exists(mp): try: diff --git a/src/calibre/ebooks/pdf/pdftohtml.py b/src/calibre/ebooks/pdf/pdftohtml.py index 971114a180..564ba14a32 100644 --- a/src/calibre/ebooks/pdf/pdftohtml.py +++ b/src/calibre/ebooks/pdf/pdftohtml.py @@ -23,8 +23,8 @@ if isosx and hasattr(sys, 'frameworks_dir'): if iswindows and hasattr(sys, 'frozen'): PDFTOHTML = os.path.join(os.path.dirname(sys.executable), 'pdftohtml.exe') popen = partial(subprocess.Popen, creationflags=0x08) # CREATE_NO_WINDOW=0x08 so that no ugly console is popped up -if (islinux or isfreebsd) and getattr(sys, 'frozen_path', False): - PDFTOHTML = os.path.join(getattr(sys, 'frozen_path'), 'pdftohtml') +if (islinux or isfreebsd) and getattr(sys, 'frozen', False): + PDFTOHTML = os.path.join(sys.executables_location, 'bin', 'pdftohtml') def pdftohtml(output_dir, pdf_path, no_images): ''' diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index f035c40cb4..57b914877d 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -644,7 +644,7 @@ def open_url(qurl): '').split(os.pathsep) paths = [x for x in paths if x] if isfrozen and islinux and paths: - npaths = [x for x in paths if x != sys.frozen_path] + npaths = [x for x in paths if x != sys.frozen_path+'/lib'] os.environ['LD_LIBRARY_PATH'] = os.pathsep.join(npaths) QDesktopServices.openUrl(qurl) if isfrozen and islinux and paths: diff --git a/src/calibre/libunrar.py b/src/calibre/libunrar.py index e05afc4e38..4bfd5c537a 100644 --- a/src/calibre/libunrar.py +++ b/src/calibre/libunrar.py @@ -28,7 +28,7 @@ if hasattr(sys, 'frozen') and iswindows: lp = os.path.join(os.path.dirname(sys.executable), 'DLLs', 'unrar.dll') _libunrar = cdll.LoadLibrary(lp) elif hasattr(sys, 'frozen_path'): - lp = os.path.join(sys.frozen_path, 'libunrar.so') + lp = os.path.join(sys.frozen_path, 'lib', 'libunrar.so') _libunrar = cdll.LoadLibrary(lp) else: _libunrar = load_library(_librar_name, cdll) diff --git a/src/calibre/utils/ipc/launch.py b/src/calibre/utils/ipc/launch.py index a179f356be..28d5d889e3 100644 --- a/src/calibre/utils/ipc/launch.py +++ b/src/calibre/utils/ipc/launch.py @@ -8,7 +8,7 @@ __docformat__ = 'restructuredtext en' import subprocess, os, sys, time, binascii, cPickle -from calibre.constants import iswindows, isosx, isfrozen, isnewosx +from calibre.constants import iswindows, isosx, isfrozen from calibre.utils.config import prefs from calibre.ptempfile import PersistentTemporaryFile, base_dir @@ -51,17 +51,11 @@ class Worker(object): return os.path.join(os.path.dirname(sys.executable), e+'.exe' if isfrozen else \ 'Scripts\\%s.exe'%e) - if isnewosx: + if isosx: return os.path.join(sys.console_binaries_path, e) - if isosx: - if not isfrozen: return e - contents = os.path.join(self.osx_contents_dir, - 'console.app', 'Contents') - return os.path.join(contents, 'MacOS', self.osx_interpreter) - if isfrozen: - return os.path.join(getattr(sys, 'frozen_path'), e) + return os.path.join(sys.executables_location, e) c = os.path.join(sys.executables_location, e) if os.access(c, os.X_OK): @@ -71,13 +65,9 @@ class Worker(object): @property def gui_executable(self): - if isnewosx: + if isosx: return os.path.join(sys.binaries_path, self.exe_name) - if isfrozen and isosx: - return os.path.join(self.osx_contents_dir, - 'MacOS', self.osx_interpreter) - return self.executable @property @@ -123,27 +113,6 @@ class Worker(object): def __init__(self, env, gui=False): self._env = {} self.gui = gui - if isosx and isfrozen and not isnewosx: - contents = os.path.join(self.osx_contents_dir, 'console.app', 'Contents') - resources = os.path.join(contents, 'Resources') - fd = os.path.join(contents, 'Frameworks') - sp = os.path.join(resources, 'lib', 'python'+sys.version[:3], 'site-packages.zip') - self.osx_prefix = 'import sys, os; sys.frameworks_dir = "%s"; sys.frozen = "macosx_app"; '%fd - self.osx_prefix += 'sys.path.insert(0, %s); '%repr(sp) - self.osx_prefix += 'sys.extensions_location = os.path.join(sys.frameworks_dir, "plugins");' - self.osx_prefix += 'sys.resources_location = os.path.join(os.path.dirname(sys.frameworks_dir), "Resources", "resources"); ' - - self._env['PYTHONHOME'] = resources - self._env['MAGICK_HOME'] = os.path.join(fd, 'ImageMagick') - self._env['DYLD_LIBRARY_PATH'] = os.path.join(fd, 'ImageMagick', 'lib') - self._env['FONTCONFIG_PATH'] = \ - os.path.join(os.path.realpath(resources), 'fonts') - self._env['QT_PLUGIN_PATH'] = \ - os.path.join(self.osx_contents_dir, 'MacOS') - - if isfrozen and not (iswindows or isosx): - self._env['LD_LIBRARY_PATH'] = getattr(sys, 'frozen_path') + ':'\ - + os.environ.get('LD_LIBRARY_PATH', '') self._env.update(env) def __call__(self, redirect_output=True, cwd=None, priority=None): @@ -155,13 +124,9 @@ class Worker(object): env = self.env env['ORIGWD'] = cwd or os.path.abspath(os.getcwd()) _cwd = cwd - if isfrozen and not iswindows and not isosx: - _cwd = getattr(sys, 'frozen_path', None) if priority is None: priority = prefs['worker_process_priority'] cmd = [exe] - if isosx and not isnewosx: - cmd += ['-c', self.osx_prefix + 'from calibre.utils.ipc.worker import main; main()'] args = { 'env' : env, 'cwd' : _cwd, From b44e60f80d6fab30a05ad52732604350a51b7dc4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Nov 2010 09:44:39 -0700 Subject: [PATCH 76/80] La Rijoa nad NacionRed by Arturo Martinez Nieves --- resources/nacionred.recipe | 11 +++++++ resources/recipes/la_rioja.recipe | 54 +++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 resources/nacionred.recipe create mode 100644 resources/recipes/la_rioja.recipe diff --git a/resources/nacionred.recipe b/resources/nacionred.recipe new file mode 100644 index 0000000000..4108deab88 --- /dev/null +++ b/resources/nacionred.recipe @@ -0,0 +1,11 @@ +from calibre.web.feeds.news import BasicNewsRecipe + +class AdvancedUserRecipe1291022049(BasicNewsRecipe): + title = u'NacionRed.com' + oldest_article = 7 + max_articles_per_feed = 100 + language = 'es' + __author__ = 'Arturo Martinez Nieves' + + feeds = [(u'NacionRed.com', u'http://feeds.weblogssl.com/nacionred?format=xml')] + diff --git a/resources/recipes/la_rioja.recipe b/resources/recipes/la_rioja.recipe new file mode 100644 index 0000000000..eea3dd2687 --- /dev/null +++ b/resources/recipes/la_rioja.recipe @@ -0,0 +1,54 @@ +__license__ = 'GPL v3' +__copyright__ = '2010, Darko Miletic ' +''' +www.larioja.com +''' + +from calibre.web.feeds.news import BasicNewsRecipe + +class LaRioja(BasicNewsRecipe): + title = 'La Rioja' + __author__ = 'Arturo Martinez Nieves' + description = 'Noticias de La Rioja y el resto del mundo' + publisher = 'La Rioja' + category = 'news, politics, Spain' + oldest_article = 2 + max_articles_per_feed = 200 + no_stylesheets = True + encoding = 'cp1252' + use_embedded_content = False + language = 'es' + remove_empty_feeds = True + masthead_url = 'http://www.larioja.com/includes/manuales/larioja/include-lariojapapeldigital-zonac-fondocabecera01.jpg' + extra_css = ' body{font-family: Arial,Helvetica,sans-serif } img{margin-bottom: 0.4em} .photo-caption{font-size: x-small} ' + + conversion_options = { + 'comment' : description + , 'tags' : category + , 'publisher' : publisher + , 'language' : language + } + + keep_only_tags = [ + dict(attrs={'id':'title'}) + ,dict(attrs={'class':['overhead','headline','subhead','date','text','noticia_cont','desarrollo']}) + ] + remove_tags = [dict(name='ul')] + remove_attributes = ['width','height'] + + + feeds = [ + (u'Ultimas Noticias' , u'http://www.larioja.com/rss/feeds/ultima.xml' ) + ,(u'Portada' , u'http://www.larioja.com/rss/feeds/portada.xml' ) + ,(u'Mundo' , u'http://www.larioja.com/rss/feeds/mundo.xml' ) + ,(u'Espana' , u'http://www.larioja.com/rss/feeds/espana.xml' ) + ,(u'Region' , u'http://www.larioja.com/rss/feeds/region.xml' ) + ,(u'Comarcas' , u'http://www.larioja.com/rss/feeds/comarcas.xml') + ,(u'Deportes' , u'http://www.larioja.com/rss/feeds/deportes.xml' ) + ,(u'Economia' , u'http://www.larioja.com/rss/feeds/economia.xml' ) + ,(u'Cultura' , u'http://www.larioja.com/rss/feeds/cultura.xml' ) + ,(u'Opinion' , u'http://www.larioja.com/rss/feeds/opinion.xml' ) + ,(u'Sociedad' , u'http://www.larioja.com/rss/feeds/sociedad.xml' ) + + ] + From 4bb388216a65dd86f70811ea3ee1d20906cd74e1 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 29 Nov 2010 16:58:54 +0000 Subject: [PATCH 77/80] Drag & drop onto user categories --- src/calibre/gui2/dialogs/tag_categories.py | 2 +- src/calibre/gui2/library/views.py | 2 + src/calibre/gui2/tag_view.py | 88 +++++++++++++++++++++- 3 files changed, 87 insertions(+), 5 deletions(-) diff --git a/src/calibre/gui2/dialogs/tag_categories.py b/src/calibre/gui2/dialogs/tag_categories.py index 679a5c9da9..7a9660a655 100644 --- a/src/calibre/gui2/dialogs/tag_categories.py +++ b/src/calibre/gui2/dialogs/tag_categories.py @@ -51,7 +51,7 @@ class TagCategories(QDialog, Ui_TagCategories): cc_map = self.db.custom_column_label_map for cc in cc_map: - if cc_map[cc]['datatype'] == 'text': + if cc_map[cc]['datatype'] in ['text', 'series']: self.category_labels.append(db.field_metadata.label_to_key(cc)) category_icons.append(cc_icon) category_values.append(lambda col=cc: self.db.all_custom(label=col)) diff --git a/src/calibre/gui2/library/views.py b/src/calibre/gui2/library/views.py index a972acfc13..fadb8314e3 100644 --- a/src/calibre/gui2/library/views.py +++ b/src/calibre/gui2/library/views.py @@ -517,6 +517,8 @@ class BooksView(QTableView): # {{{ md.setUrls([url_for_id(i) for i in selected]) drag = QDrag(self) + col = self.selectionModel().currentIndex().column() + md.column_name = self.column_map[col] drag.setMimeData(md) cover = self.drag_icon(m.cover(self.currentIndex().row()), len(selected) > 1) diff --git a/src/calibre/gui2/tag_view.py b/src/calibre/gui2/tag_view.py index 3ded769137..ed27026562 100644 --- a/src/calibre/gui2/tag_view.py +++ b/src/calibre/gui2/tag_view.py @@ -67,7 +67,7 @@ class TagsView(QTreeView): # {{{ author_sort_edit = pyqtSignal(object, object) tag_item_renamed = pyqtSignal() search_item_renamed = pyqtSignal() - drag_drop_finished = pyqtSignal(object) + drag_drop_finished = pyqtSignal(object, object) def __init__(self, parent=None): QTreeView.__init__(self, parent=None) @@ -252,6 +252,30 @@ class TagsView(QTreeView): # {{{ self.context_menu.popup(self.mapToGlobal(point)) return True + def dragMoveEvent(self, event): + self.setDropIndicatorShown(False) + index = self.indexAt(event.pos()) + if not index.isValid(): + self.setDropIndicatorShown(False) + return + item = index.internalPointer() + flags = self._model.flags(index) + if item.type == TagTreeItem.TAG and flags & Qt.ItemIsDropEnabled: + self.setDropIndicatorShown(True) + else: + item = index.internalPointer() + if item.type == TagTreeItem.CATEGORY: + fm_dest = self.db.metadata_for_field(item.category_key) + if fm_dest['kind'] == 'user': + md = event.mimeData() + fm_src = self.db.metadata_for_field(md.column_name) + if md.column_name in ['authors', 'publisher', 'series'] or \ + (fm_src['is_custom'] and + fm_src['datatype'] in ['series', 'text'] and + not fm_src['is_multiple']): + self.setDropIndicatorShown(True) + QTreeView.dragMoveEvent(self, event) + def clear(self): if self.model(): self.model().clear_state() @@ -448,8 +472,59 @@ class TagsModel(QAbstractItemModel): # {{{ ids = list(map(int, str(md.data(mime)).split())) self.handle_drop(node, ids) return True + elif node.type == TagTreeItem.CATEGORY: + fm_dest = self.db.metadata_for_field(node.category_key) + if fm_dest['kind'] == 'user': + fm_src = self.db.metadata_for_field(md.column_name) + if md.column_name in ['authors', 'publisher', 'series'] or \ + (fm_src['is_custom'] and + fm_src['datatype'] in ['series', 'text'] and + not fm_src['is_multiple']): + mime = 'application/calibre+from_library' + ids = list(map(int, str(md.data(mime)).split())) + self.handle_user_category_drop(node, ids, md.column_name) + return True return False + def handle_user_category_drop(self, on_node, ids, column): + categories = self.db.prefs.get('user_categories', {}) + category = categories.get(on_node.category_key[:-1], None) + if category is None: + return + fm_src = self.db.metadata_for_field(column) + for id in ids: + vmap = {} + label = fm_src['label'] + if not fm_src['is_custom']: + if label == 'authors': + items = self.db.get_authors_with_ids() + items = [(i[0], i[1].replace('|', ',')) for i in items] + value = self.db.authors(id, index_is_id=True) + value = [v.replace('|', ',') for v in value.split(',')] + elif label == 'publisher': + items = self.db.get_publishers_with_ids() + value = self.db.publisher(id, index_is_id=True) + elif label == 'series': + items = self.db.get_series_with_ids() + value = self.db.series(id, index_is_id=True) + else: + items = self.db.get_custom_items_with_ids(label=label) + value = self.db.get_custom(id, label=label, index_is_id=True) + if value is None: + return + if not isinstance(value, list): + value = [value] + for v in items: + vmap[v[1]] = v[0] + for val in value: + for (v, c, id) in category: + if v == val and c == column: + break + else: + category.append([val, column, vmap[val]]) + categories[on_node.category_key[:-1]] = category + self.db.prefs.set('user_categories', categories) + self.drag_drop_finished.emit(None, True) def handle_drop(self, on_node, ids): #print 'Dropped ids:', ids, on_node.tag @@ -499,7 +574,7 @@ class TagsModel(QAbstractItemModel): # {{{ self.db.set_metadata(id, mi, set_title=False, set_authors=set_authors, commit=False) self.db.commit() - self.drag_drop_finished.emit(ids) + self.drag_drop_finished.emit(ids, False) def set_search_restriction(self, s): self.search_restriction = s @@ -641,6 +716,8 @@ class TagsModel(QAbstractItemModel): # {{{ (fm['is_custom'] and \ fm['datatype'] in ['text', 'rating', 'series']): ans |= Qt.ItemIsDropEnabled + else: + ans |= Qt.ItemIsDropEnabled return ans def supportedDropActions(self): @@ -857,8 +934,11 @@ class TagBrowserMixin(object): # {{{ self.library_view.model().refresh() self.tags_view.recount() - def drag_drop_finished(self, ids): - self.library_view.model().refresh_ids(ids) + def drag_drop_finished(self, ids, is_category): + if is_category: + self.tags_view.recount() + else: + self.library_view.model().refresh_ids(ids) # }}} From fdf989c011f0bc7edffa68b6e9dbf585fa49b48d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Nov 2010 10:06:39 -0700 Subject: [PATCH 78/80] ... --- src/calibre/manual/faq.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/calibre/manual/faq.rst b/src/calibre/manual/faq.rst index f9fe5bd3af..55451206b6 100644 --- a/src/calibre/manual/faq.rst +++ b/src/calibre/manual/faq.rst @@ -247,6 +247,18 @@ Also, :: must return ``CONFIG_SCSI_MULTI_LUN=y``. If you don't see either, you have to recompile your kernel with the correct settings. +My device is getting mounted read-only in linux, so |app| cannot connect to it? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +linux kernels mount devices read-only when their filesystems have errors. You can repair the filesystem with:: + + sudo fsck.vfat -y /dev/sdc + +Replace /dev/sdc with the path to the device node of your device. You can find the device node of your device, which +will always be under /dev by examining the output of:: + + mount + Why does |app| not support collection on the Kindle or shelves on the Nook? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 25467ff22afa384a8945acee887b43ae053fd22d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Nov 2010 10:36:35 -0700 Subject: [PATCH 79/80] Fix #7729 (calibre network share not working) --- src/calibre/library/server/browse.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/calibre/library/server/browse.py b/src/calibre/library/server/browse.py index fbb35e598c..b6dbde4c77 100644 --- a/src/calibre/library/server/browse.py +++ b/src/calibre/library/server/browse.py @@ -368,7 +368,7 @@ class BrowseServer(object): for x, y, z in cats] main = u'

    {0}

      {1}
    '\ - .format(_('Choose a category to browse by:'), '\n\n'.join(cats)) + .format(_('Choose a category to browse by:'), u'\n\n'.join(cats)) return self.browse_template('name').format(title='', script='toplevel();', main=main) From eeda4caf10443bbdeeab1076cca2ca75e6ddb24d Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Nov 2010 13:13:10 -0700 Subject: [PATCH 80/80] ... --- resources/{ => recipes}/nacionred.recipe | 0 setup/commands.py | 6 ++-- setup/installer/linux/__init__.py | 2 +- setup/installer/linux/freeze2.py | 44 +++++++++++++++--------- 4 files changed, 30 insertions(+), 22 deletions(-) rename resources/{ => recipes}/nacionred.recipe (100%) diff --git a/resources/nacionred.recipe b/resources/recipes/nacionred.recipe similarity index 100% rename from resources/nacionred.recipe rename to resources/recipes/nacionred.recipe diff --git a/setup/commands.py b/setup/commands.py index 06ab7b36f7..12fb5fe0af 100644 --- a/setup/commands.py +++ b/setup/commands.py @@ -18,7 +18,7 @@ __all__ = [ 'pypi_register', 'pypi_upload', 'upload_to_server', 'upload_user_manual', 'upload_to_mobileread', 'upload_demo', 'upload_to_sourceforge', 'upload_to_google_code', - 'linux32', 'linux64', 'linux', 'linux_freeze', 'linux_freeze2', + 'linux32', 'linux64', 'linux', 'linux_freeze', 'osx32_freeze', 'osx', 'rsync', 'push', 'win32_freeze', 'win32', 'win', 'stage1', 'stage2', 'stage3', 'stage4', 'publish' @@ -79,10 +79,8 @@ from setup.installer.linux import Linux, Linux32, Linux64 linux = Linux() linux32 = Linux32() linux64 = Linux64() -from setup.installer.linux.freeze import LinuxFreeze +from setup.installer.linux.freeze2 import LinuxFreeze linux_freeze = LinuxFreeze() -from setup.installer.linux.freeze2 import LinuxFreeze2 -linux_freeze2 = LinuxFreeze2() from setup.installer.osx import OSX osx = OSX() diff --git a/setup/installer/linux/__init__.py b/setup/installer/linux/__init__.py index 68f29362ee..3d759cff9a 100644 --- a/setup/installer/linux/__init__.py +++ b/setup/installer/linux/__init__.py @@ -17,7 +17,7 @@ class Linux32(VMInstaller): INSTALLER_EXT = 'tar.bz2' VM_NAME = 'gentoo32_build' VM = '/vmware/bin/gentoo32_build' - FREEZE_COMMAND = 'linux_freeze2' + FREEZE_COMMAND = 'linux_freeze' FREEZE_TEMPLATE = 'sudo python -OO setup.py {freeze_command}' diff --git a/setup/installer/linux/freeze2.py b/setup/installer/linux/freeze2.py index b30762f4b6..0379c0d839 100644 --- a/setup/installer/linux/freeze2.py +++ b/setup/installer/linux/freeze2.py @@ -16,21 +16,9 @@ SITE_PACKAGES = ['IPython', 'PIL', 'dateutil', 'dns', 'PyQt4', 'mechanize', 'sip.so', 'BeautifulSoup.py', 'cssutils', 'encutils', 'lxml', 'sipconfig.py', 'xdg'] - - -gcc = subprocess.Popen(["gcc-config", "-c"], stdout=subprocess.PIPE).communicate()[0] -chost, _, gcc = gcc.rpartition('-') -stdcpp = '/usr/lib/gcc/%s/%s/libstdc++.so.?'%(chost.strip(), gcc.strip()) -stdcpp = glob.glob(stdcpp)[-1] -is64bit = platform.architecture()[0] == '64bit' -arch = 'x86_64' if is64bit else 'i686' -ffi = '/usr/lib/libffi.so.5' if is64bit else '/usr/lib/gcc/i686-pc-linux-gnu/4.4.1/libffi.so.4' - - QTDIR = '/usr/lib/qt4' QTDLLS = ('QtCore', 'QtGui', 'QtNetwork', 'QtSvg', 'QtXml', 'QtWebKit', 'QtDBus') - binary_includes = [ '/usr/bin/pdftohtml', '/usr/lib/libwmflite-0.2.so.7', @@ -49,8 +37,6 @@ binary_includes = [ '/usr/lib/libjpeg.so.8', '/usr/lib/libxslt.so.1', '/usr/lib/libgthread-2.0.so.0', - stdcpp, - ffi, '/usr/lib/libpng14.so.14', '/usr/lib/libexslt.so.0', '/usr/lib/libMagickWand.so.4', @@ -66,7 +52,11 @@ binary_includes = [ ] binary_includes += [os.path.join(QTDIR, 'lib%s.so.4'%x) for x in QTDLLS] -class LinuxFreeze2(Command): +is64bit = platform.architecture()[0] == '64bit' +arch = 'x86_64' if is64bit else 'i686' + + +class LinuxFreeze(Command): def run(self, opts): self.drop_privileges() @@ -93,7 +83,21 @@ class LinuxFreeze2(Command): self.info('Copying libs...') os.mkdir(self.lib_dir) os.mkdir(self.bin_dir) - for x in binary_includes: + + gcc = subprocess.Popen(["gcc-config", "-c"], stdout=subprocess.PIPE).communicate()[0] + chost, _, gcc = gcc.rpartition('-') + gcc_lib = '/usr/lib/gcc/%s/%s/'%(chost.strip(), gcc.strip()) + stdcpp = gcc_lib+'libstdc++.so.?' + stdcpp = glob.glob(stdcpp)[-1] + ffi = gcc_lib+'libffi.so.?' + ffi = glob.glob(ffi) + if ffi: + ffi = ffi[-1] + else: + ffi = glob.glob('/usr/lib/libffi.so.?')[-1] + + + for x in binary_includes + [stdcpp, ffi]: dest = self.bin_dir if '/bin/' in x else self.lib_dir shutil.copy2(x, dest) shutil.copy2('/usr/lib/libpython%s.so.1.0'%self.py_ver, dest) @@ -268,7 +272,6 @@ class LinuxFreeze2(Command): base=`dirname $path` lib=$base/lib export LD_LIBRARY_PATH=$lib:$LD_LIBRARY_PATH - export QT_PLUGIN_PATH=$lib/qt_plugins export MAGICK_CONFIGURE_PATH=$lib/ImageMagick/config export MAGICK_CODER_MODULE_PATH=$lib/ImageMagick/modules-Q16/coders export MAGICK_CODER_FILTER_PATH=$lib/ImageMagick/modules-Q16/filters @@ -336,12 +339,19 @@ class LinuxFreeze2(Command): def set_helper(): __builtin__.help = _Helper() + def set_qt_plugin_path(): + from PyQt4.Qt import QCoreApplication + paths = list(map(unicode, QCoreApplication.libraryPaths())) + paths.insert(0, sys.frozen_path + '/lib/qt_plugins') + QCoreApplication.setLibraryPaths(paths) + def main(): try: sys.argv[0] = sys.calibre_basename set_default_encoding() set_helper() + set_qt_plugin_path() mod = __import__(sys.calibre_module, fromlist=[1]) func = getattr(mod, sys.calibre_function) return func()