From a7a91ae54cca42f5e03c3ea932f61f001e2354a3 Mon Sep 17 00:00:00 2001 From: OzzieIsaacs Date: Tue, 28 Aug 2018 14:07:48 +0200 Subject: [PATCH] Added posibility to upload cover from local drive (#439) Updated language files --- cps/static/css/style.css | 4 +- cps/static/js/edit_books.js | 8 ++ cps/templates/book_edit.html | 8 +- cps/translations/de/LC_MESSAGES/messages.mo | Bin 309873 -> 310254 bytes cps/translations/de/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/es/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/fr/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/it/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/ja/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/km/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/nl/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/pl/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/translations/ru/LC_MESSAGES/messages.po | 96 +++++++++++------- .../zh_Hans_CN/LC_MESSAGES/messages.po | 96 +++++++++++------- cps/web.py | 58 ++++++++--- messages.pot | 96 +++++++++++------- 16 files changed, 685 insertions(+), 449 deletions(-) diff --git a/cps/static/css/style.css b/cps/static/css/style.css index 7ccbd5c6..16c3cb36 100644 --- a/cps/static/css/style.css +++ b/cps/static/css/style.css @@ -94,8 +94,8 @@ input.pill:not(:checked) + label .glyphicon { .upload-format-input-text {display: initial;} #btn-upload-format {display: none;} -.upload-format-input-text {display: initial;} -#btn-upload-format {display: none;} +.upload-cover-input-text {display: initial;} +#btn-upload-cover {display: none;} .panel-title > a { text-decoration: none;} diff --git a/cps/static/js/edit_books.js b/cps/static/js/edit_books.js index 599a875a..e86c78e9 100644 --- a/cps/static/js/edit_books.js +++ b/cps/static/js/edit_books.js @@ -246,3 +246,11 @@ $("#btn-upload-format").on("change", function () { } // Remove c:\fake at beginning from localhost chrome $("#upload-format").html(filename); }); + +$("#btn-upload-cover").on("change", function () { + var filename = $(this).val(); + if (filename.substring(3, 11) === "fakepath") { + filename = filename.substring(12); + } // Remove c:\fake at beginning from localhost chrome + $("#upload-cover").html(filename); +}); diff --git a/cps/templates/book_edit.html b/cps/templates/book_edit.html index 75d1ed0c..259e7127 100644 --- a/cps/templates/book_edit.html +++ b/cps/templates/book_edit.html @@ -60,7 +60,11 @@ - +
+ +
+ +
@@ -70,7 +74,7 @@
- +
{% if cc|length > 0 %} diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index 7cfd0d23d7fd236bc68d761fd8dd031a65ee820a..a41c116836021a5cbe573e8d7495f4b2b690f80e 100644 GIT binary patch delta 130876 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≈66 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 ID!(-NKiR{8xc~qF diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index fe459af0..b0b3a348 100644 --- a/cps/translations/de/LC_MESSAGES/messages.po +++ b/cps/translations/de/LC_MESSAGES/messages.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2016-07-12 19:54+0200\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" @@ -556,26 +556,26 @@ msgstr "Benutzer %(nick)s bearbeiten" msgid "Password for user %s reset" msgstr "Password für Benutzer %s wurde zurückgesetzt" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" "Buch öffnen fehlgeschlagen. Datei existiert nicht, oder ist nicht " "zugänglich" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Die Dateiendung \"%s\" kann nicht auf diesen Server hochgeladen werden" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %s (Zugriff verweigert)" @@ -590,29 +590,43 @@ msgstr "Fehler beim speichern der Datei %s." msgid "File format %s added to %s" msgstr "Dateiformat %s zu %s hinzugefügt" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "Unbekannt" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "Cover ist keine JPG Datei, konnte nicht gespeichert werden" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "Fehler beim Editieren des Buchs, Details im Logfile" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Fehler beim speichern der Datei %s (Zugriff verweigert)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Fehler beim Löschen von Datei %s (Zugriff verweigert)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "DAtei %s hochgeladen" @@ -796,7 +810,7 @@ msgid "Ok" msgstr "Ok" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -832,7 +846,7 @@ msgstr "Buch löschen" msgid "Delete formats:" msgstr "Lösche Formate:" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Löschen" @@ -841,13 +855,13 @@ msgstr "Löschen" msgid "Book Title" msgstr "Buchtitel" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Beschreibung" @@ -876,91 +890,95 @@ msgstr "" "Cover URL (jpg, Cover wird heruntergeladen und in der Datenbank " "gespeichert, Feld erscheint anschließend wieder leer)" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "Cover von lokalem Laufwerk hinzufügen" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Herausgabedatum" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Sprache" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "Nein" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "Format hochladen" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "Buch nach Bearbeitung ansehen" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Metadaten laden" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Abschicken" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "Sicher?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "Das Buch wird aus der Calibre Datenbank" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "und von der Festplatte gelöscht" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Suchbegriff" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "Suchbegriff" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Los!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Klicke auf das Bild um die Metadaten zu übertragen" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Lade..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Schließen" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Herausgeber" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Quelle" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Fehler bei Suche!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen" diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index 481a9502..9c56c7c8 100644 --- a/cps/translations/es/LC_MESSAGES/messages.po +++ b/cps/translations/es/LC_MESSAGES/messages.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: Juan F. Villa \n" "Language: es\n" @@ -539,24 +539,24 @@ msgstr "Editar Usuario %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "editar metainformación" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "No se permite subir archivos con la extensión \"%s\" a este servidor" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Fallo al crear la ruta %s (permiso negado)" @@ -571,29 +571,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Fallo al almacenar el archivo %s (permiso negado)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Fallo al borrar el archivo %s (permiso negado)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -777,7 +791,7 @@ msgid "Ok" msgstr "Ok" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -813,7 +827,7 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" @@ -822,13 +836,13 @@ msgstr "" msgid "Book Title" msgstr "Titulo del Libro" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Descripcion" @@ -855,91 +869,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Fecha de publicación" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lenguaje" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Si" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "Subir formato" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "Ver libro tras la edicion" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Obtener metainformación" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Enviar" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Palabra clave" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "Buscar palabras clave" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "¡Vamos!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Haga clic en la portada para cargar la metainformación en el formulario" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Cerrar" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editor" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Origen" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "¡Error en la búsqueda!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index 476df291..3920914a 100644 --- a/cps/translations/fr/LC_MESSAGES/messages.po +++ b/cps/translations/fr/LC_MESSAGES/messages.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-10-26 22:42+0200\n" "Last-Translator: Nicolas Roudninski \n" "Language: fr\n" @@ -547,26 +547,26 @@ msgstr "Éditer l'utilisateur %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" "Erreur à l’ouverture du livre. Le fichier n’existe pas ou n’est pas " "accessible" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Pour être téléverser le fichier doit avoir une extension" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Impossible de créer le chemin %s (permission refusée)" @@ -581,29 +581,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "inconnu" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Impossible d'enregistrer le fichier %s (permission refusée)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Impossible de supprimer le fichier %s (permission refusée)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -787,7 +801,7 @@ msgid "Ok" msgstr "D’accord" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -823,7 +837,7 @@ msgstr "Effacer le livre" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Supprimer" @@ -832,13 +846,13 @@ msgstr "Supprimer" msgid "Book Title" msgstr "Titre du livre" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Description" @@ -865,91 +879,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Date de publication" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Langue" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Oui" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "Non" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "voir le livre après l'édition" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Obtenir les métadonnées" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Soumettre" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "Etes-vous vraiment sur?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "Le livre va être supprimé de la base de données de Calibre" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "et du disque dur" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Mot-clé" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr " Rechercher le mot-clé " -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Allez !" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Chargement…" -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Fermer" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editeur" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Source" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Rechercher les erreur!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index ae62abe2..259d1b6f 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/LC_MESSAGES/messages.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: Marco Picone \n" "Language: it\n" @@ -543,26 +543,26 @@ msgstr "Modifica utente %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" "Errore durante l'apertura di eBook. Il file non esiste o il file non è " "accessibile" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "modificare la metainformazione" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Non è consentito caricare i file con l'estensione \"%s\" a questo server" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Impossibile creare il percorso %s (autorizzazione negata)" @@ -577,29 +577,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "Sconosciuto" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Impossibile archiviare il file %s (autorizzazione negata)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Impossibile eliminare il file %s (autorizzazione negata)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -783,7 +797,7 @@ msgid "Ok" msgstr "Ok" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -819,7 +833,7 @@ msgstr "Elimina libro" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Elimina" @@ -828,13 +842,13 @@ msgstr "Elimina" msgid "Book Title" msgstr "Titolo del libro" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Autore" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Descrizione" @@ -861,91 +875,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Data di pubblicazione" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lingua" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Si" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "visualizzare il libro dopo la modifica" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Ottieni metadati" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Sottoscrivi" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "Sei davvero sicuro?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "l libro verrà cancellato dal database Calibre\"" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "e dal disco rigido" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Parola chiave" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "Cerca parola chiave" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Partire" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Fai clic sul coperchio per caricare i metadati nel modulo" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Caricamento in corso..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Chiuso" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editore" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "fonte" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Errore di ricerca!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 58a3822c..d38958f6 100644 --- a/cps/translations/ja/LC_MESSAGES/messages.po +++ b/cps/translations/ja/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: white \n" "Language: ja\n" @@ -534,24 +534,24 @@ msgstr "ユーザ編集 %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "メタデータを編集します" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "ファイル拡張子 \"%s\" をこのサーバにアップロードする許可はありません" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "ファイルをアップロードするために拡張子が必要です" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "場所 %s の作成を失敗しました (許可拒否)" @@ -566,29 +566,43 @@ msgstr "フアイル %s の保存を失敗しました" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "不明" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "ファイル %s の保存を失敗しました (許可拒否)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "ファイル %s の削除を失敗しました (許可拒否)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -772,7 +786,7 @@ msgid "Ok" msgstr "はい" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -808,7 +822,7 @@ msgstr "本を削除" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "削除" @@ -817,13 +831,13 @@ msgstr "削除" msgid "Book Title" msgstr "本のタイトル" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "著者" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "詳細" @@ -850,91 +864,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "発行日" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "言語" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "はい" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "いいえ" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "アップロード拡張子" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "編集してから本を表示します" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "メタデータを取得します" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "提出" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "宜しいですか?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "この本はCalibreデータベースから削除されます" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "とハードディクスから" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "キーワード" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "キーワードを検索します" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "行く" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "メタデータをフォームに読み込むためにカバーをクリックしてください" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "読み込み中..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "閉じる" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "ソース" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "検索エーラ!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index d87f57c0..e0fac864 100644 --- a/cps/translations/km/LC_MESSAGES/messages.po +++ b/cps/translations/km/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -535,24 +535,24 @@ msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ ពុំមានឯកសារ ឬឯកសារនេះមិនអាចបើកបាន" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ “%s” មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %s (ពុំមានសិទ្ធិ)។" @@ -567,29 +567,43 @@ msgstr "មិនអាចរក្សាទុកឯកសារ %s ។" msgid "File format %s added to %s" msgstr "ឯកសារទម្រង់ %s ត្រូវបានបន្ថែមទៅ %s" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "មិនដឹង" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "គម្របមិនមែនជាឯកសារ JPG មិនអាចរក្សាទុក" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "មានបញ្ហាពេលកែប្រែសៀវភៅ សូមពិនិត្យមើល logfile សម្រាប់ព័ត៌មានបន្ថែម" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "មិនអាចរក្សាទុកឯកសារ %s (មិនមានសិទ្ធិ)។" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "មិនអាចលុបឯកសារ %s (មិនមានសិទ្ធិ)។" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "ឯកសារ %s ត្រូវបានអាប់ឡូដ" @@ -773,7 +787,7 @@ msgid "Ok" msgstr "បាទ/ចាស" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -809,7 +823,7 @@ msgstr "លុបសៀវភៅ" msgid "Delete formats:" msgstr "លុបឯកសារទម្រង់៖" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "លុប" @@ -818,13 +832,13 @@ msgstr "លុប" msgid "Book Title" msgstr "ចំណងជើងសៀវភៅ" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "អ្នកនិពន្ធ" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "ពិពណ៌នា" @@ -853,91 +867,95 @@ msgstr "" "URL របស់ក្របមុខ (ឯកសារ JPG ក្របមុខត្រូវបានទាញយក និងរក្សាទុកក្នុង database" " ក្រោយមកចន្លោះនេះទទេម្តងទៀត)" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "ថ្ងៃបោះពុម្ភ" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "ភាសា" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "បាទ/ចាស" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "ទេ" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "ទម្រង់អាប់ឡូដ" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "មើលសៀវភៅក្រោយពីកែប្រែ" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "មើលទិន្នន័យមេតា" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "បញ្ចូល" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "សៀវភៅនឹងត្រូវលុបចេញពី database របស់ Calibre" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "និងពីថាសរឹង" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "ពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "ស្វែងរកពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "ទៅ!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "ចុចលើគម្របដើម្បីបញ្ចូលទិន្នន័យមេតាទៅក្នុង form" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "កំពុងដំណើរការ..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "បិទ" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "អ្នកបោះពុម្ភ" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "ប្រភព" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "ការស្វែងរកមានកំហុស!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index 2d517554..3447d9e6 100644 --- a/cps/translations/nl/LC_MESSAGES/messages.po +++ b/cps/translations/nl/LC_MESSAGES/messages.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web dutch translation by Ed Driesen (GPL V3)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-06-21 20:15+0200\n" "Last-Translator: \n" "Language: nl\n" @@ -551,24 +551,24 @@ msgstr "Bewerk gebruiker '%(nick)s'" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Fout bij openen eBook. Het bestand bestaat niet of is niet toegankelijk" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "Bewerk metadata" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Het uploaden van bestandsextensie \"%s\" is niet toegestaan op deze server" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Up te loaden bestanden dienen een extensie te hebben" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Het pad %s aanmaken mislukt (Geen toestemming)." @@ -583,29 +583,43 @@ msgstr "Bestand opslaan niet gelukt voor %s." msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "onbekend" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Bestand %s opslaan mislukt (Geen toestemming)." -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Bestand %s wissen mislukt (Geen toestemming)." -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -789,7 +803,7 @@ msgid "Ok" msgstr "Ok" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -825,7 +839,7 @@ msgstr "Wis boek" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Wis" @@ -834,13 +848,13 @@ msgstr "Wis" msgid "Book Title" msgstr "Boek titel" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Omschrijving" @@ -867,91 +881,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Publicatie datum" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Taal" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "Nee" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "Upload type" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "bekijk boek na bewerking" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Verkrijg metadata" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Opslaan" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "Ben je zeker?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "Boek wordt nu gewist uit de Calibre database" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "en van de harde schijf" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Zoekwoord" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "Zoek voor zoekwoord" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Start!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Klik op de omslag om de metatadata in het formulier te laden" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Aan het laden..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Sluit" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Uitgever" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Bron" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Zoek fout!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po index c1148621..c093f3bd 100644 --- a/cps/translations/pl/LC_MESSAGES/messages.po +++ b/cps/translations/pl/LC_MESSAGES/messages.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre Web - polski (POT: 2017-04-11 22:51)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-04-11 22:51+0200\n" "Last-Translator: Radosław Kierznowski \n" "Language: pl\n" @@ -538,24 +538,24 @@ msgstr "Edytuj użytkownika %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Rozszerzenie pliku \"%s\" nie jest dozwolone do przesłania na ten serwer" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Plik do przesłania musi mieć rozszerzenie" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)." @@ -570,29 +570,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)." -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)." -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -776,7 +790,7 @@ msgid "Ok" msgstr "OK" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -812,7 +826,7 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" @@ -821,13 +835,13 @@ msgstr "" msgid "Book Title" msgstr "Tytuł książki" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Opis" @@ -854,91 +868,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Data publikacji" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Język" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Tak" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "Nie" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "wyświetl książkę po edycji" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Uzyskaj metadane" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Wyślij" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Słowo kluczowe" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr " Szukaj słowa kluczowego " -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Idź!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Kliknij okładkę, aby załadować metadane do formularza" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Ładowanie..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Zamknij" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Wydawca" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Źródło" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Błąd wyszukiwania!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index 7099c7a8..46532801 100644 --- a/cps/translations/ru/LC_MESSAGES/messages.po +++ b/cps/translations/ru/LC_MESSAGES/messages.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n" "Last-Translator: Pavel Korovin \n" "Language: ru\n" @@ -540,24 +540,24 @@ msgstr "Изменить пользователя %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением \"%s\"" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Ошибка при создании пути %s (доступ запрещён)" @@ -572,29 +572,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "неизвестно" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Ошибка записи файоа %s (доступ запрещён)" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Ошибка удаления файла %s (доступ запрещён)" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -778,7 +792,7 @@ msgid "Ok" msgstr "Ok" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -814,7 +828,7 @@ msgstr "Удалить книгу" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Удалить" @@ -823,13 +837,13 @@ msgstr "Удалить" msgid "Book Title" msgstr "Название" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "Автор" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "Описание" @@ -856,91 +870,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Опубликовано" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "Язык" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "Да" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "Нет" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "смотреть книгу после редактирования" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "Получить метаданные" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "Отправить" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "Вы действительно уверены?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "Книга будет удалена из БД Calibre" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "и с диска" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "Ключевое слово" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr " Поиск по ключевому слову" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "Искать" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "Нажмите на обложку, чтобы получить метаданные" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "Загрузка..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "Закрыть" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Издатель" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "Источник" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "Ошибка поиска!" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 2f7d7eaf..4e326adc 100644 --- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: 2017-01-06 17:00+0000\n" "Last-Translator: dalin \n" "Language: zh_Hans_CN\n" @@ -540,24 +540,24 @@ msgstr "编辑用户 %(nick)s" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "打开电子书出错。文件不存在或不可访问" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "编辑元数据" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "不能上传后缀为 \"%s\" 的文件到此服务器" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须有一个后缀" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "创建路径 %s 失败(权限拒绝)。" @@ -572,29 +572,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "未知" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "存储文件 %s 失败(权限拒绝)。" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "删除文件 %s 失败(权限拒绝)。" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -778,7 +792,7 @@ msgid "Ok" msgstr "确定" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -814,7 +828,7 @@ msgstr "删除书籍" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "删除" @@ -823,13 +837,13 @@ msgstr "删除" msgid "Book Title" msgstr "书名" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "作者" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "简介" @@ -856,91 +870,95 @@ msgid "" "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "出版日期" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "语言" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "确认" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "编辑后查看书籍" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "获取元数据" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "提交" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "您真的确认?" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "书籍会被从Calibre数据库和硬盘中删除" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "关键字" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "搜索关键字" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "走起!" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "点击封面加载元数据到表单" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "加载中..." -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "关闭" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "来源" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "搜索错误" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr "" diff --git a/cps/web.py b/cps/web.py index 0d2db20c..27bcd8c6 100644 --- a/cps/web.py +++ b/cps/web.py @@ -3153,7 +3153,6 @@ def reset_password(user_id): return redirect(url_for('admin')) - @app.route("/admin/book/", methods=['GET', 'POST']) @login_required_if_no_ano @edit_required @@ -3170,14 +3169,14 @@ def edit_book(book_id): flash(_(u"Error opening eBook. File does not exist or file is not accessible"), category="error") return redirect(url_for("index")) - for index in range(0, len(book.languages)): + for indx in range(0, len(book.languages)): try: - book.languages[index].language_name = LC.parse(book.languages[index].lang_code).get_language_name( + book.languages[indx].language_name = LC.parse(book.languages[indx].lang_code).get_language_name( get_locale()) except Exception: - book.languages[index].language_name = _(isoLanguages.get(part3=book.languages[index].lang_code).name) - for author in book.authors: - author_names.append(author.name.replace('|', ',')) + book.languages[indx].language_name = _(isoLanguages.get(part3=book.languages[indx].lang_code).name) + for authr in book.authors: + author_names.append(authr.name.replace('|', ',')) # Show form if request.method != 'POST': @@ -3185,7 +3184,7 @@ def edit_book(book_id): title=_(u"edit metadata"), page="editbook") # Update book - edited_books_id = set() + edited_books_id = {} # Check and handle Uploaded file if 'btn-upload-format' in request.files: @@ -3195,7 +3194,8 @@ def edit_book(book_id): if '.' in requested_file.filename: file_ext = requested_file.filename.rsplit('.', 1)[-1].lower() if file_ext not in ALLOWED_EXTENSIONS: - flash(_('File extension "%s" is not allowed to be uploaded to this server' % file_ext), category="error") + flash(_('File extension "%s" is not allowed to be uploaded to this server' % file_ext), + category="error") return redirect(url_for('show_book', book_id=book.id)) else: flash(_('File to be uploaded must have an extension'), category="error") @@ -3231,10 +3231,36 @@ def edit_book(book_id): db.session.connection().connection.connection.create_function("title_sort", 1, db.title_sort) # Queue uploader info - uploadText=_(u"File format %s added to %s" % (file_ext.upper(),book.title)) + uploadText=_(u"File format %s added to %s" % (file_ext.upper(), book.title)) helper.global_WorkerThread.add_upload(current_user.nickname, - ""+ uploadText + "") + "" + uploadText + "") + if 'btn-upload-cover' in request.files: + requested_file = request.files['btn-upload-cover'] + # check for empty request + if requested_file.filename != '': + file_ext = requested_file.filename.rsplit('.', 1)[-1].lower() + # file_name = book.path.rsplit('/', 1)[-1] + filepath = os.path.normpath(os.path.join(config.config_calibre_dir, book.path)) + saved_filename = os.path.join(filepath, 'cover.' + file_ext) + + # check if file path exists, otherwise create it, copy file to calibre path and delete temp file + if not os.path.exists(filepath): + try: + os.makedirs(filepath) + except OSError: + flash(_(u"Failed to create path for cover %s (Permission denied)." % filepath), category="error") + return redirect(url_for('show_book', book_id=book.id)) + try: + requested_file.save(saved_filename) + # im=Image.open(saved_filename) + book.has_cover = 1 + except OSError: + flash(_(u"Failed to store cover-file %s." % saved_filename), category="error") + return redirect(url_for('show_book', book_id=book.id)) + except IOError: + flash(_(u"Cover-file is not a valid image file" % saved_filename), category="error") + return redirect(url_for('show_book', book_id=book.id)) to_save = request.form.to_dict() try: @@ -3410,8 +3436,8 @@ def edit_book(book_id): if config.config_use_google_drive: gdriveutils.updateGdriveCalibreFromLocal() author_names = [] - for author in book.authors: - author_names.append(author.name) + for authr in book.authors: + author_names.append(authr.name) if "detail_view" in to_save: return redirect(url_for('show_book', book_id=book.id)) else: @@ -3456,12 +3482,12 @@ def upload(): # extract metadata from file meta = uploader.upload(requested_file) title = meta.title - author = meta.author + authr = meta.author tags = meta.tags series = meta.series series_index = meta.series_id title_dir = helper.get_valid_filename(title) - author_dir = helper.get_valid_filename(author) + author_dir = helper.get_valid_filename(authr) filepath = os.path.join(config.config_calibre_dir, author_dir, title_dir) saved_filename = os.path.join(filepath, title_dir + meta.extension.lower()) @@ -3490,11 +3516,11 @@ def upload(): move(meta.cover, os.path.join(filepath, "cover.jpg")) # handle authors - is_author = db.session.query(db.Authors).filter(db.Authors.name == author).first() + is_author = db.session.query(db.Authors).filter(db.Authors.name == authr).first() if is_author: db_author = is_author else: - db_author = db.Authors(author, helper.get_sorted_author(author), "") + db_author = db.Authors(authr, helper.get_sorted_author(authr), "") db.session.add(db_author) # handle series diff --git a/messages.pot b/messages.pot index 4fd4bd3c..22192793 100644 --- a/messages.pot +++ b/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2018-08-28 10:22+0200\n" +"POT-Creation-Date: 2018-08-28 14:05+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -529,24 +529,24 @@ msgstr "" msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3170 +#: cps/web.py:3169 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3185 cps/web.py:3419 cps/web.py:3424 cps/web.py:3579 +#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 msgid "edit metadata" msgstr "" -#: cps/web.py:3198 cps/web.py:3449 +#: cps/web.py:3197 cps/web.py:3475 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "" -#: cps/web.py:3201 cps/web.py:3453 +#: cps/web.py:3201 cps/web.py:3479 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/web.py:3213 cps/web.py:3473 +#: cps/web.py:3213 cps/web.py:3499 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "" @@ -561,29 +561,43 @@ msgstr "" msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3249 cps/web.py:3253 +#: cps/web.py:3252 +#, python-format +msgid "Failed to create path for cover %s (Permission denied)." +msgstr "" + +#: cps/web.py:3259 +#, python-format +msgid "Failed to store cover-file %s." +msgstr "" + +#: cps/web.py:3262 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/web.py:3275 cps/web.py:3279 msgid "unknown" msgstr "" -#: cps/web.py:3275 +#: cps/web.py:3301 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3428 +#: cps/web.py:3454 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3478 +#: cps/web.py:3504 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "" -#: cps/web.py:3483 +#: cps/web.py:3509 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "" -#: cps/web.py:3565 +#: cps/web.py:3591 #, python-format msgid "File %s uploaded" msgstr "" @@ -767,7 +781,7 @@ msgid "Ok" msgstr "" #: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166 +#: cps/templates/book_edit.html:148 cps/templates/book_edit.html:170 #: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164 #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:75 #: cps/templates/shelf.html:60 cps/templates/shelf_edit.html:19 @@ -803,7 +817,7 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" @@ -812,13 +826,13 @@ msgstr "" msgid "Book Title" msgstr "" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225 -#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 +#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 msgid "Author" msgstr "" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230 -#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 +#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 msgid "Description" msgstr "" @@ -843,91 +857,95 @@ msgstr "" msgid "Cover URL (jpg, cover is downloaded and stored in database, field is afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:65 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:64 +msgid "Upload Cover from local drive" +msgstr "" + +#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 msgid "Publishing date" msgstr "" -#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 msgid "Language" msgstr "" -#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 msgid "Yes" msgstr "" -#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 msgid "No" msgstr "" -#: cps/templates/book_edit.html:130 +#: cps/templates/book_edit.html:134 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:139 +#: cps/templates/book_edit.html:143 msgid "view book after edit" msgstr "" -#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178 +#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 msgid "Get metadata" msgstr "" -#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 #: cps/templates/config_view_edit.html:163 cps/templates/login.html:20 #: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17 #: cps/templates/user_edit.html:151 msgid "Submit" msgstr "" -#: cps/templates/book_edit.html:157 +#: cps/templates/book_edit.html:161 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:160 +#: cps/templates/book_edit.html:164 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:161 +#: cps/templates/book_edit.html:165 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:181 +#: cps/templates/book_edit.html:185 msgid "Keyword" msgstr "" -#: cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:186 msgid " Search keyword " msgstr "" -#: cps/templates/book_edit.html:184 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 msgid "Go!" msgstr "" -#: cps/templates/book_edit.html:188 +#: cps/templates/book_edit.html:192 msgid "Click the cover to load metadata to the form" msgstr "" -#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240 +#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 msgid "Loading..." msgstr "" -#: cps/templates/book_edit.html:205 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 msgid "Close" msgstr "" -#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "" -#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 msgid "Source" msgstr "" -#: cps/templates/book_edit.html:241 +#: cps/templates/book_edit.html:245 msgid "Search error!" msgstr "" -#: cps/templates/book_edit.html:242 +#: cps/templates/book_edit.html:246 msgid "No Result(s) found! Please try aonther keyword." msgstr ""