diff --git a/cps/helper.py b/cps/helper.py index 17d6d0ae..572e9dba 100755 --- a/cps/helper.py +++ b/cps/helper.py @@ -53,7 +53,7 @@ def make_mobi(book_id, calibrepath, user_id, kindle_mail): book = db.session.query(db.Books).filter(db.Books.id == book_id).first() data = db.session.query(db.Data).filter(db.Data.book == book.id).filter(db.Data.format == 'EPUB').first() if not data: - error_message = _(u"epub format not found for book id: %(book)d", book=book_id) + error_message = _(u"Epub format not found for book id: %(book)d", book=book_id) app.logger.error("make_mobi: " + error_message) return error_message if ub.config.config_use_google_drive: @@ -64,16 +64,19 @@ def make_mobi(book_id, calibrepath, user_id, kindle_mail): os.makedirs(os.path.join(calibrepath, book.path)) df.GetContentFile(datafile) else: - error_message = (u"make_mobi: epub not found on gdrive: %s.epub" % data.name) + error_message = (u"Epub not found on Google Drive: %s.epub" % data.name) return error_message file_path = os.path.join(calibrepath, book.path, data.name) if os.path.exists(file_path + u".epub"): - # append converter to queue - global_WorkerThread.add_convert(file_path, book.id, user_id, _(u"Convert: %s" % book.title), ub.get_mail_settings(), + # read settings and append converter task to queue + settings = ub.get_mail_settings() + settings['old_book_format'] = u'EPUB' + settings['new_book_format'] = u'MOBI' + global_WorkerThread.add_convert(file_path, book.id, user_id, _(u"Convert: %s" % book.title), settings, kindle_mail) return None else: - error_message = (u"make_mobi: epub not found: %s.epub" % file_path) + error_message = (u"Epub not found: %s.epub" % file_path) return error_message @@ -136,6 +139,52 @@ def send_mail(book_id, kindle_mail, calibrepath, user_id): return _(u"The requested file could not be read. Maybe wrong permissions?") +# Convert existing book entry to new format +def convert_book_format(book_id, calibrepath, old_book_format, new_book_format, user_id): + book = db.session.query(db.Books).filter(db.Books.id == book_id).first() + data = db.session.query(db.Data).filter(db.Data.book == book.id).filter(db.Data.format == old_book_format).first() + if not data: + error_message = _(u"%(format)s format not found for book id: %(book)d", format=old_book_format, book=book_id) + app.logger.error("convert_book_format: " + error_message) + return error_message + if ub.config.config_use_google_drive: + df = gd.getFileFromEbooksFolder(book.path, data.name + "." + old_book_format.lower()) + if df: + datafile = os.path.join(calibrepath, book.path, data.name + "." + old_book_format.lower()) + if not os.path.exists(os.path.join(calibrepath, book.path)): + os.makedirs(os.path.join(calibrepath, book.path)) + df.GetContentFile(datafile) + else: + error_message = _(u"%(format)s not found on Google Drive: %(fn)s", + format=old_book_format, fn=data.name + "." + old_book_format.lower()) + return error_message + file_path = os.path.join(calibrepath, book.path, data.name) + if os.path.exists(file_path + "." + old_book_format.lower()): + # append converter to queue + settings = {'old_book_format': old_book_format, + 'new_book_format': new_book_format} + + app.logger.debug("Creating task for worker thread:") + app.logger.debug("filepath: " + file_path + " " + + "bookid: " + str(book.id) + " " + + "userid: " + str(user_id) + " " + + "taskmsg: " + _(u"Convert to %(format)s: %(book)s", + format=new_book_format, book=book.title) + " " + + "settings:old_book_format: " + settings['old_book_format'] + " " + + "settings:new_book_format: " + settings['new_book_format'] + ) + + global_WorkerThread.add_convert(file_path, book.id, + user_id, _(u"Convert to %(format)s: %(book)s", + format=new_book_format, book=book.title), + settings) + return None + else: + error_message = _(u"%(format)s not found: %(fn)s", + format=old_book_format, fn=data.name + "." + old_book_format.lower()) + return error_message + + def get_valid_filename(value, replace_whitespace=True): """ Returns the given string converted to a string that can be used for a clean @@ -339,7 +388,7 @@ def save_cover(url, book_path): f.write(img.content) f.close() uploadFileToEbooksFolder(os.path.join(book_path, 'cover.jpg'), os.path.join(tmpDir, f.name)) - web.app.logger.info("Cover is saved on gdrive") + web.app.logger.info("Cover is saved on Google Drive") return True f = open(os.path.join(ub.config.config_calibre_dir, book_path, "cover.jpg"), "wb") diff --git a/cps/static/js/edit_books.js b/cps/static/js/edit_books.js index e86c78e9..1d182887 100644 --- a/cps/static/js/edit_books.js +++ b/cps/static/js/edit_books.js @@ -254,3 +254,4 @@ $("#btn-upload-cover").on("change", function () { } // Remove c:\fake at beginning from localhost chrome $("#upload-cover").html(filename); }); + diff --git a/cps/templates/admin.html b/cps/templates/admin.html index 5cbaf07e..81ff05c5 100644 --- a/cps/templates/admin.html +++ b/cps/templates/admin.html @@ -5,7 +5,7 @@ - + diff --git a/cps/templates/book_edit.html b/cps/templates/book_edit.html index 259e7127..ab5b17b6 100644 --- a/cps/templates/book_edit.html +++ b/cps/templates/book_edit.html @@ -1,7 +1,7 @@ {% extends "layout.html" %} {% block body %} {% if book %} - +
@@ -16,7 +16,7 @@
{% if book.data|length > 1 %} -

{{_('Delete formats:')}}

+

{{_('Delete formats:')}}

{% for file in book.data %} {% endif %} {% endif %} + +{% if display_convertbtn and conversion_formats|length > 0 %} +

{{_('Convert book format:')}}

+ +
+
+ + + + +
+
+ + +
+{% endif %} +
+
@@ -61,7 +89,7 @@
- +
@@ -131,7 +159,7 @@ {% if g.user.role_upload() or g.user.role_admin()%} {% if g.allow_upload %}
- +
diff --git a/cps/templates/register.html b/cps/templates/register.html index 92272771..bad6c47d 100644 --- a/cps/templates/register.html +++ b/cps/templates/register.html @@ -12,7 +12,7 @@
- +
diff --git a/cps/templates/remote_login.html b/cps/templates/remote_login.html index 92c89c78..8e6e4ae6 100644 --- a/cps/templates/remote_login.html +++ b/cps/templates/remote_login.html @@ -1,7 +1,7 @@ {% extends "layout.html" %} {% block body %}
-

{{_('Remote Login')}}

+

{{_('Remote login')}}

{{_('Using your another device, visit')}} {{verify_url}} {{_('and log in')}}.

diff --git a/cps/templates/user_edit.html b/cps/templates/user_edit.html index e57c4b23..5c6b308e 100644 --- a/cps/templates/user_edit.html +++ b/cps/templates/user_edit.html @@ -10,7 +10,7 @@
{% endif %}
- +
{% if ( g.user and g.user.role_passwd() or g.user.role_admin() ) and not content.role_anonymous() %} diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index a41c1168..291e8343 100644 Binary files a/cps/translations/de/LC_MESSAGES/messages.mo and b/cps/translations/de/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index 6834a0b7..f3a98127 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2016-07-12 19:54+0200\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" @@ -41,180 +41,208 @@ msgstr "Nicht installiert" msgid "Excecution permissions missing" msgstr "Ausführungsberechtigung nicht vorhanden" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "epub Format für Bücher-ID %(book)d nicht gefunden" +msgid "Epub format not found for book id: %(book)d" +msgstr "Epub Format für Buch ID: %(book)d nicht gefunden" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "Konvertiere: %s" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "Calibre-Web Test E-Mail" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "Test E-Mail" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "Loslegen mit Calibre-Web" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "Registrierungs E-Mail für Benutzer %s" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" "Es konnten keine passenden Formate für das Versenden per E-Mail gefunden " "werden" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "An Kindle senden" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "E-Mail: %s" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" "Die angeforderter Dazei konnte nicht gelesen werden. Evtl. falsche " "Zugriffsrechte" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "%(format)s Format nicht gefunden bei Buch ID %(book)d" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "%(format)s von Buch %(fn)s nicht auf Google Drive gefunden" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "Konvertiere %(book)s in %(format)s: " + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "%(format)s nicht gefunden: %(fn)s" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "Umbenennen des Titelpfades \"%s\" nach \"%s\" schlug fehl: %s" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "Umbenennen des Authorpfades \"%s\" nach \"%s\" schlug fehl: %s" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "Datei %s wirde nicht auf Google Drive gefunden" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "Buchpfad %s wurde nicht auf Google Drive gefunden" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "Fehler bei der Ausführung von UnRar" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "UnRar Datei nicht gefunden" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Frage Update Paket an" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Lade Update Paket herunter" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Entpacke Update Paket" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Ersetze Dateien" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Schließe Datenbankverbindungen" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Stoppe Server" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "Kürzlich hinzugefügte Bücher" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "Neueste Bücher" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "Älteste Bücher" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "Bücher (A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "Bücher (Z-A)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Beliebte Bücher (die meisten Downloads)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Best bewertete Bücher" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Zufällige Bücher" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Autorenliste" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 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/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Liste Serien" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Verfügbare Sprachen" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Sprache: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Kategorieliste" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Kategorie: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "Aufgaben" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Statistiken" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" @@ -222,452 +250,469 @@ msgstr "" "Callback Domain ist nicht verifiziert, bitte Domain in der Google " "Developer Console verifizieren" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Server neu gestartet,bitte Seite neu laden" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Server wird runtergefahren, bitte Fenster schließen" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Update durchgeführt" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "%s: %s" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "Herausgegeben nach dem %s" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "Herausgegeben vor dem %s" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "Bewertung <= %s" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "Bewertung >= %s" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "Suche" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Gelesene Bücher" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Ungelesene Bücher" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Lese ein Buch" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "Bitte alle Felder ausfüllen!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "Registieren" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "Eine Bestätigungs E-Mail wurde an den E-Mail Account versendet" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "Benutzername oder E-Mailadresse ist bereits in Verwendung." -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Du bist nun eingeloggt als '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Falscher Benutzername oder Passwort" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "Login" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "Token wurde nicht gefunden" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "Das Token ist abgelaufen" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "Erfolg! Bitte zum Gerät zurückkehren" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Bitte zuerst die SMTP Mail Einstellung konfigurieren ..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "Bitte zuerst die Kindle E-Mailadresse konfigurieren..." -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Das Buch wurde dem Bücherregal: %(sname)s hinzugefügt" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "Ungültiges Bücherregal angegeben" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "Keine Erlaubnis ein Buch zum Bücherregal %s hinzuzufügen" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "Benutzer hat keine Erlaubnis öffentliche Bücherregale zu editieren" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "Bücher sind bereits Teil des Bücherregals %s" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "Bücher wurden zum Bücherregal %(sname)s hinzugefügt" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "Bücher konnten nicht zum Bücherregal %(sname)s hinzugefügt werden" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "Keine Erlaubnis das Buch aus dem Bücherregal %(sname)s zu entfernen" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Es existiert bereits ein Bücheregal mit dem Titel '%(title)s'" -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Bücherregal %(title)s erzeugt" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Es trat ein Fehler auf" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "Bücherregal erzeugen" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Bücherregal %(title)s verändert" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Bücherregal editieren" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "Bücherregal %(name)s erfolgreich gelöscht" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Bücherregal: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Fehler beim Öffnen. Bücherregel exisitert nicht oder ist nicht zugänglich" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Reihenfolge in Bücherregal '%(name)s' verändern" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "E-Mail ist nicht Teil einer gültigen Domain" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's Profil" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "Es exisitert bereits ein Benutzer für diese E-Mailadresse" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Profil aktualisiert" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "Unbekannt" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Admin Seite" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web Konfiguration wurde aktualisiert" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "Konfiguration Benutzeroberfläche" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "Optionale Abhängigkeiten für Google Drive fehlen" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json nicht vorhanden, oder nicht lesbar" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "client_secrets.json nicht als Webapplication konfiguriert" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Basis Konfiguration" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "SSL-Keydatei Speicherort ist ungültig, bitte gültigen Pfad angeben" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "SSL-Certdatei Speicherort ist ungültig, bitte gültigen Pfad angeben" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "Speicherort Logdatei ist ungültig, bitte Pfad korrigieren" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "DB Speicherort ist ungültig, bitte Pfad korrigieren" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Neuen Benutzer hinzufügen" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Benutzer '%(user)s' angelegt" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" "Es exisitert bereits ein Account für diese E-Mailadresse oder " "Benutzernamen" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "E-Mail Server Einstellungen aktualisiert" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Test E-Mail wurde erfolgreich an %(kindlemail)s versendet" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Es trat ein Fehler beim Versenden der Test E-Mail auf: %(res)s" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "E-Mail Server Einstellungen bearbeiten" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Benutzer '%(nick)s' gelöscht" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Benutzer '%(nick)s' aktualisiert" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Es ist ein unbekanter Fehler aufgetreten" -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Benutzer %(nick)s bearbeiten" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "Password für Benutzer %s wurde zurückgesetzt" -#: cps/web.py:3169 +#: cps/web.py:3262 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:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 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:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %s (Zugriff verweigert)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "Fehler beim speichern der Datei %s." -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "Dateiformat %s zu %s hinzugefügt" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." -msgstr "" +msgstr "Ordner erzeugen für Cover %s fehlgeschalgen (Zugriff verweigert)." -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." -msgstr "" +msgstr "Fehler beim Speichern des Covers %s." -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" -msgstr "" +msgstr "Cover-Datei ist keine gültige Bilddatei" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "Unbekannt" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "Cover ist keine JPG Datei, konnte nicht gespeichert werden" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "Fehler beim Editieren des Buchs, Details im Logfile" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Fehler beim speichern der Datei %s (Zugriff verweigert)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Fehler beim Löschen von Datei %s (Zugriff verweigert)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "DAtei %s hochgeladen" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "Quell- oder Zielformat für Konvertierung fehlt" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" +"Buch wurde erfolgreich für die Konvertierung in das %(book_format)s " +"eingereiht" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "Es trat ein Fehlker beim Konvertieren des Buches auf: %(res)s" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "Gestartet" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" -msgstr "" +msgstr "E-Mail: %stitle" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "Konvertertool %(converter)s nicht gefunden" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "Fehler EBook-converter: %s" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "Kindlegen Aufruf mit Fehler %(error)s. Text: %(message)s fehlgeschlagen " -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "Beendet" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "Wartend" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "Diese E-Mail wurde durch Calibre-Web versendet." -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "Fehlgeschlagen" @@ -680,8 +725,8 @@ msgid "Nickname" msgstr "Benutzername" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "" +msgid "E-mail" +msgstr "E-Mail" #: cps/templates/admin.html:9 msgid "Kindle" @@ -744,8 +789,8 @@ msgstr "Konfiguration" msgid "Calibre DB dir" msgstr "Calibre DB Pfad" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" +#: cps/templates/admin.html:57 +msgid "Log level" msgstr "Log Level" #: cps/templates/admin.html:61 @@ -761,68 +806,72 @@ msgid "Uploading" msgstr "Hochladen" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "Anonymes Browsen" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Öffentliche Registrierung" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "Remote Login" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Aktuelles Commit Datum" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Neuestes Commit Datum" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Calibre-DB neu verbinden" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Calibre-Web Neustarten" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Stoppe Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Suche nach Update" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Update durchführen" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Calibre-Web wirklich neustarten?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "Ok" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Zurück" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Calibre-Web wirklich stoppen" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Updatevorgang, bitte Seite nicht neu laden" @@ -846,43 +895,59 @@ msgstr "Buch löschen" msgid "Delete formats:" msgstr "Lösche Formate:" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Löschen" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "Konvertiere Buch Format:" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "Konvertiere von:" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "Konvertiere nach" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "Konvertiere Buch" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Buchtitel" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Beschreibung" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Tags" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Serien" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Serien ID" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Bewertung" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" @@ -890,95 +955,95 @@ msgstr "" "Cover URL (jpg, Cover wird heruntergeladen und in der Datenbank " "gespeichert, Feld erscheint anschließend wieder leer)" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "Cover von lokalem Laufwerk hinzufügen" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Herausgabedatum" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Sprache" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "Nein" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "Format hochladen" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "Buch nach Bearbeitung ansehen" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Metadaten laden" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "Sicher?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "Das Buch wird aus der Calibre Datenbank" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "und von der Festplatte gelöscht" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Suchbegriff" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "Suchbegriff" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Los!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 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:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Lade..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Schließen" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Herausgeber" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Quelle" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Fehler bei Suche!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen" @@ -1038,6 +1103,10 @@ msgstr "SSL Keydatei Speicherort (leerlassen für nicht SSL Server)" msgid "Logfile Configuration" msgstr "Konfiguration Logdatei" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Log Level" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "Position und Name des Logfiles (calibre-web.log bei keinem Eintrag)" @@ -1079,8 +1148,8 @@ msgid "Goodreads API Secret" msgstr "eheimer Goodreads API Schlüssel" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" -msgstr "E-Book Konverter" +msgid "External binaries" +msgstr "Externe Programme" #: cps/templates/config_edit.html:181 msgid "No converter" @@ -1102,7 +1171,11 @@ msgstr "E-Book Konverter Einstellungen" msgid "Path to convertertool" msgstr "Pfad zu Konvertertool" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "Ofad zum UnRar Programm" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Login" @@ -1496,7 +1569,8 @@ msgstr "Einloggen mit magischem Link" msgid "Calibre-Web ebook catalog" msgstr "Calibre-Web E-Book Katalog" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "Einstellungen" @@ -1504,6 +1578,94 @@ msgstr "Einstellungen" msgid "Reflow text when sidebars are open." msgstr "Text umbrechen wenn Seitenleiste geöffnet ist" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "Tastatur Kürzel" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "Vorherige Seite" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "Nächste Seite" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "Optimale Skalierung" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "Skaliere auf Breite" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "Skaliere auf Höhe" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "Skaliere 1:1" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "Rechts rotieren" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "Links rotieren" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "Bild umdrehen" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "Theme" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "Hell" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "Dunkel" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "Skalierung" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "Beste" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "Breite" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "Höhe" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "1:1" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "Rotieren" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "Umdrehen" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "Horizontal" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "Vertikal" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "PDF.js Viewer" @@ -1525,7 +1687,7 @@ msgid "Choose a password" msgstr "Wähle ein Passwort" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" +msgid "E-mail address" msgstr "E-Mail Adresse" #: cps/templates/register.html:16 @@ -1688,10 +1850,6 @@ msgstr "Benutzer Passwort zurücksetzen" msgid "Kindle E-Mail" msgstr "Kindle E-Mail" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "Theme" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "Standard Theme" diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index 69a576b6..1c8ac318 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: Juan F. Villa \n" "Language: es\n" @@ -34,621 +34,664 @@ msgstr "No instalado" msgid "Excecution permissions missing" msgstr "" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" +msgid "Epub format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Enviar a Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Descomprimiendo paquete de actualización" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Ficheros sustituidos" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Los conexiones de base datos están cerradas" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "El servidor está detenido" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Actualización finalizada. Por favor, pulse OK y recargue la página" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Libros populares (los mas descargados)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Libros mejor valorados" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Libros al azar" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Lista de autores" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Error en la apertura del eBook. El archivo no existe o no es accesible:" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Lista de series" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Series : %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Lenguajes disponibles" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Lenguaje: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Lista de categorias" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Categoría : %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Estadisticas" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Servidor reiniciado. Por favor, recargue la página" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Servidor en proceso de apagado. Por favor, cierre la ventana." -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Actualización realizada" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "búsqueda" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Libros leídos" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Libros no leídos" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Leer un libro" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "¡Por favor completar todos los campos!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "registrarse" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Sesion iniciada como : '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Usuario o contraseña invalido" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "Iniciar sesión" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Configurar primero los parametros SMTP por favor..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Ha sucedido un error en el envio del Libro: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "El libro fue agregado a el estante: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "El libro fue removido del estante: %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Une étagère de ce nom '%(title)s' existe déjà." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Estante %(title)s creado" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Ha sucedido un error" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "crear un estante" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Estante %(title)s cambiado" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Editar un estante" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "Estante %(name)s fue borrado correctamente" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar orden del estante: '%(name)s'" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "Perfil de %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Perfil actualizado" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Página de administración" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Configuración básica" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "Localicación de la BD inválida. Por favor, introduzca la ruta correcta." -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Agregar un nuevo usuario" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' borrado" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Error inesperado." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuario %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "editar metainformación" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 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:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Fallo al crear la ruta %s (permiso negado)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Fallo al almacenar el archivo %s (permiso negado)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Fallo al borrar el archivo %s (permiso negado)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -661,8 +704,8 @@ msgid "Nickname" msgstr "Nickname" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "Correo" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -725,9 +768,9 @@ msgstr "Configuración" msgid "Calibre DB dir" msgstr "Dir DB Calibre" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "Nivel de registro" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -742,68 +785,72 @@ msgid "Uploading" msgstr "Subiendo" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Registro público" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Administración" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Marca temporal del commit actual" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Marca temporal del commit más reciente" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Reconectar la BD Calibre" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Reinicial Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Detener Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Buscar actualizaciones" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Actualizar" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "¿Seguro que quiere reiniciar Calibre-Web?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "Ok" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Regresar" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "¿Seguro que quiere detener Calibre-Web?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Actualizando. Por favor, no recargue la página." @@ -827,137 +874,153 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Titulo del Libro" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Descripcion" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Etiqueta" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Series" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Id de la serie" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Puntaje" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Fecha de publicación" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lenguaje" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Si" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "Subir formato" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "Ver libro tras la edicion" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Obtener metainformación" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Palabra clave" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "Buscar palabras clave" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "¡Vamos!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 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:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Cerrar" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editor" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Origen" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "¡Error en la búsqueda!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1017,6 +1080,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Nivel de registro" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1058,7 +1125,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1081,7 +1148,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Inicio de Sesion" @@ -1473,7 +1544,8 @@ msgstr "" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1481,6 +1553,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "Redimensionar el texto cuando las barras laterales estan abiertas" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "Visor PDF.js" @@ -1502,8 +1662,8 @@ msgid "Choose a password" msgstr "Escoge una clave" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Direccion de correo" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1665,10 +1825,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Correo del Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index 5515bd5a..25651b75 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-10-26 22:42+0200\n" "Last-Translator: Nicolas Roudninski \n" "Language: fr\n" @@ -40,625 +40,668 @@ msgstr "non installé" msgid "Excecution permissions missing" msgstr "" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" +msgid "Epub format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Envoyer vers Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Téléchargement la mise à jour" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Décompression de la mise à jour" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Fichiers remplacés" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Connexion à la base de donnée fermée" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Serveur arrêté" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Mise à jour terminée, merci d’appuyer sur okay et de rafraîchir la page" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "Ajouts récents" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "Livres récents" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "Anciens livres" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "Livres (A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "Livres (Z-A)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Livres populaires (les plus téléchargés)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Livres les mieux notés" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Livres au hasard" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Liste des auteurs" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "" "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est " "pas accessible :" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Liste des séries" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Séries : %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Langues disponibles" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Langue : %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Liste des catégories" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Catégorie : %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Statistiques" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Serveur redémarré, merci de rafraîchir la page" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Mise à jour effectuée" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "recherche" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Livres lus" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Livres non-lus" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Lire un livre" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "SVP, complétez tous les champs !" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "s’enregistrer" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Mauvais nom d'utilisateur ou mot de passe" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "connexion" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "Jeton non trouvé" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "Jeton expiré" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "Réussite! Merci de vous tourner vers votre appareil" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Veillez configurer les paramètres smtp d'abord..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Le livre a été supprimé de l'étagère %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Une étagère de ce nom '%(title)s' existe déjà." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Étagère %(title)s créée" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Il y a eu une erreur" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "créer une étagère" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Modifier une étagère" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "l’étagère %(name)s a été supprimé avec succès" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Étagère : '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "Profil de %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Profil mis à jour" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Page administrateur" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Configuration de Calibre-Web mise à jour" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Configuration basique" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Ajouter un nouvel utilisateur" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Utilisateur '%(user)s' créé" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilisateur '%(nick)s' supprimé" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Oups ! Une erreur inconnue a eu lieu." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Éditer l'utilisateur %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 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:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "" -#: cps/web.py:3201 cps/web.py:3479 +#: cps/web.py:3312 cps/web.py:3590 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:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Impossible de créer le chemin %s (permission refusée)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "inconnu" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Impossible d'enregistrer le fichier %s (permission refusée)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Impossible de supprimer le fichier %s (permission refusée)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -671,8 +714,8 @@ msgid "Nickname" msgstr "Surnom" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "Courriel" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -735,8 +778,8 @@ msgstr "Configuration" msgid "Calibre DB dir" msgstr "" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" +#: cps/templates/admin.html:57 +msgid "Log level" msgstr "" #: cps/templates/admin.html:61 @@ -752,68 +795,72 @@ msgid "Uploading" msgstr "Téléversement" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Inscription public" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Se reconnecter à Calibre-Web" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Redémarrer Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Arrêter Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Rechercher les mise à jour" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Effectuer la mise à jour" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Voulez-vous vraiment redémarrer Calibre-Web?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "D’accord" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Retour" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Voulez-Vous vraiment arrêter Calibre-Web?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Mise à jour en cours, ne pas rafraîchir la page" @@ -837,137 +884,153 @@ msgstr "Effacer le livre" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Supprimer" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Titre du livre" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Description" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Étiquette" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Séries" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Id de série" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Évaluation" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Date de publication" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Langue" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Oui" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "Non" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "voir le livre après l'édition" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Obtenir les métadonnées" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "Etes-vous vraiment sur?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 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:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "et du disque dur" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Mot-clé" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr " Rechercher le mot-clé " -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Allez !" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Chargement…" -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Fermer" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editeur" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Source" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Rechercher les erreur!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1027,6 +1090,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1068,7 +1135,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1091,7 +1158,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Connexion" @@ -1485,7 +1556,8 @@ msgstr "" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "Paramètres" @@ -1493,6 +1565,94 @@ msgstr "Paramètres" msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "" @@ -1514,8 +1674,8 @@ msgid "Choose a password" msgstr "Choisissez un mot de passe" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Adresse de courriel" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1677,10 +1837,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Courriel Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index b096d84a..e10abbc0 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: Marco Picone \n" "Language: it\n" @@ -34,627 +34,670 @@ msgstr "non installato" msgid "Excecution permissions missing" msgstr "Mancano autorizzazioni di esecuzione" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "formato epub non trovato" +msgid "Epub format not found for book id: %(book)d" +msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Invia a Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Richiesta del pacchetto di aggiornamento" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Scaricare il pacchetto di aggiornamento" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Decomprimere pacchetto di aggiornamento" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "I file vengono sostituiti" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Le connessioni di database sono chiuse" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Il server viene arrestato" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Aggiornamento completato, prego premere bene e ricaricare pagina" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "Libri aggiunti di recente" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "I più nuovi libri" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "Libri più vecchi" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "Ebook (A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "Ebook (Z-A)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Hot Books (più scaricati)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "I migliori libri valutati" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Libri casuali" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Elenco degli autori" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 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/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Lista delle serie" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Serie :" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Lingue disponibili" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Lingue: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Elenco categorie" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Categoria : %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Statistica" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Server riavviato, ricarica pagina" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Eseguire l'arresto del server, chiudi la finestra." -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Aggiornamento fatto" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "ricerca" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Leggere libri" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Libri non letti" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Leggere un libro" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "Compila tutti i campi" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "Registrare" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "ora sei connesso come : '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Nome utente o password errata" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "Accesso" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "Token non trovato" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "Il token è scaduto" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "Successo! Torna al tuo dispositivo" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Configurare prima le impostazioni della posta SMTP..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Si è verificato un errore durante l'invio di questo libro: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Il libro è stato aggiunto alla mensola: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Il libro è stato rimosso dalla mensola: %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Uno scaffale con il nome '%(title)s' esiste già." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Mensola %(title)s creato" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "c'era un errore" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "creare uno scaffale" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Mensola %(title)s cambiato" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Modifica un ripiano" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "cancellato con successo il ripiano %(name)s" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Mensola: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" "Errore durante l'apertura dello scaffale. La mensola non esiste o non è " "accessibile" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Modificare l'ordine della mensola: '%(name)s'" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "Profilo di %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Profilo aggiornato" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Pagina di amministrazione" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Aggiornamento della configurazione del calibro-web" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Configurazione di base" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "Posizione DB non valida. Inserisci il percorso corretto." -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Aggiungi un nuovo utente" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "utente '%(user)s' creato" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "utente '%(nick)s' cancellati" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "utente '%(nick)s' aggiornato" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Errore imprevisto." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Modifica utente %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 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:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "modificare la metainformazione" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 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:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Impossibile creare il percorso %s (autorizzazione negata)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "Sconosciuto" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Impossibile archiviare il file %s (autorizzazione negata)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Impossibile eliminare il file %s (autorizzazione negata)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "errore" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -667,8 +710,8 @@ msgid "Nickname" msgstr "Nickname" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "Email" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -731,9 +774,9 @@ msgstr "Configurazione" msgid "Calibre DB dir" msgstr "Calibre DB dir" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "Livello del registro" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -748,68 +791,72 @@ msgid "Uploading" msgstr "Uploading" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Registrazione pubblica" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "Login remoto" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Administration" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Timestamp di commit corrente" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Più recente commit timestamp" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Ricollegare al DB Calibre" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Ricomincia Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Stop Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Ricerca aggiornamenti" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Esegui aggiornamento" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Vuoi veramente riavviare Caliber-web?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "Ok" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Indietro" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Vuoi veramente fermare Caliber-web?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Aggiornamento, non ricaricare la pagina." @@ -833,137 +880,153 @@ msgstr "Elimina libro" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Elimina" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Titolo del libro" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Autore" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Descrizione" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Tags" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Serie" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Series id" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Valutazione" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Data di pubblicazione" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Lingua" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Si" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "No" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "visualizzare il libro dopo la modifica" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Ottieni metadati" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "Sei davvero sicuro?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "l libro verrà cancellato dal database Calibre\"" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "e dal disco rigido" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Parola chiave" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "Cerca parola chiave" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Partire" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 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:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Caricamento in corso..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Chiuso" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Editore" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "fonte" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Errore di ricerca!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1023,6 +1086,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Livello del registro" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1064,7 +1131,7 @@ msgid "Goodreads API Secret" msgstr "Goodreads API Secret" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1087,7 +1154,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Accesso" @@ -1479,7 +1550,8 @@ msgstr "Accedi con il collegamento magico" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1487,6 +1559,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "Ridimensionare il testo quando le barre laterali sono aperte" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "Visiera PDF.js" @@ -1508,8 +1668,8 @@ msgid "Choose a password" msgstr "Scegli una chiave" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Indirizzo e-mail" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1673,10 +1833,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Email Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 6463d048..0a5efc3f 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: white \n" "Language: ja\n" @@ -29,621 +29,664 @@ msgstr "インストールされません" msgid "Excecution permissions missing" msgstr "実行許可はありません" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "本ID %(book)d のepub拡張子は見つからない" +msgid "Epub format not found for book id: %(book)d" +msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Kindleに送信する" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "タイトルを\"%s\"から\"%s\"の改名は失敗しました。エーラ: %s" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "著者を\"%s\"から\"%s\"の改名は失敗しました。エーラ:%s" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "更新パッケージを要求します" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "更新パッケージをダウンロードします" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "更新パッケージをZIP解凍します" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "ファイルを書き換えました" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "データベースの接続が閉じられました" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "サーバがシャットダウンされました" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "更新完了、Okayまたは再読み込みボタンを押してください" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "最近追加された本" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "最新の本" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "最古の本" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "本(A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "本 (Z-A)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "有名な本(ダウンロード数)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "最高評判の本" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "任意の本" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "著者リスト" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "叢書リスト" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "叢書: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "利用可能な言語" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "言語: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "カテゴリーリスト" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "カテゴリー: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "統計" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "サーバを再起動しました、ページを再読み込みしてください" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "サーバをシャットダウンします、ページを閉じてください" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "更新完了" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "検索" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "既読の本" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "未読の本" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "本を読む" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "全ての項目を入力してください" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "登録" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "%(nickname)s としてログインします" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "ユーザ名またはパスワードは間違いました" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "ログイン" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "トークンは見つかりません" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "トークンは失効されました" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "成功しまた!端末に戻ってください" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "SMTPメールをまず設定してください" -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "%(res)s を送信する際にエーラが発生しました" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "本 %(sname)s を書架に追加されました" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "本 %(sname)s を書架から除去されました" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "名前を使った書架 '%(title)s' は既に存在しました" -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "書架%(title)s は作成されました" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "エーラが発生しました" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "書架を作成する" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "書架 %(title)s 変わりました" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "書架を編集する" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "%(name)s の書架を削除されました" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "書架: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "書架を開けません。書架は存在しないまたはアクセスできません" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "'%(name)s' の書架の順番を入れ替える" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "%(name)sのプロファイル" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "プロファイルが更新されました" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "管理者ページ" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 設定を更新されました" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "基本設定" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "ログファイルの場所は不適切です。正しい場所を入力してください" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "データベースの場所は不適切です。正しい場所を入力してください" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "新規ユーザ追加" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "ユーザ '%(user)s' が作成されました" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "ユーザ '%(nick)s' 削除されました" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "ユーザ '%(nick)s' 更新されました" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "不明のエーラが発生しました" -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "ユーザ編集 %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "メタデータを編集します" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "ファイル拡張子 \"%s\" をこのサーバにアップロードする許可はありません" -#: cps/web.py:3201 cps/web.py:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "ファイルをアップロードするために拡張子が必要です" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "場所 %s の作成を失敗しました (許可拒否)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "フアイル %s の保存を失敗しました" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "不明" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "ファイル %s の保存を失敗しました (許可拒否)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "ファイル %s の削除を失敗しました (許可拒否)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "Kindlegen 失敗しました、エーラ %(error)s. メッセージ: %(message)s" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -656,8 +699,8 @@ msgid "Nickname" msgstr "通称" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "メール" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -720,9 +763,9 @@ msgstr "設定" msgid "Calibre DB dir" msgstr "Calibre データベースの場所" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "ログレベル" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -737,68 +780,72 @@ msgid "Uploading" msgstr "アップロード中" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "公的登録" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "遠距離ログイン" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "管理" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "現在コミットのタイムスタンプ" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "最新コミットのタイムスタンプ" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Calibreデータベースに再接続します" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Calibre-Webを再起動します" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Calibre-Webを停止します" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "更新を確認します" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "更新を実行します" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Calibre-Webを再起動します。宜しいですか?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "はい" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "戻る" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Calibre-Webを停止します。宜しいですか?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "更新中、ページ再読み込みしないでください" @@ -822,137 +869,153 @@ msgstr "本を削除" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "削除" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "本のタイトル" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "著者" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "詳細" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "タグ" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "叢書" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "叢書番号" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "評価" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "発行日" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "言語" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "はい" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "いいえ" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "アップロード拡張子" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "編集してから本を表示します" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "メタデータを取得します" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "宜しいですか?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "この本はCalibreデータベースから削除されます" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "とハードディクスから" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "キーワード" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "キーワードを検索します" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "行く" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "メタデータをフォームに読み込むためにカバーをクリックしてください" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "読み込み中..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "閉じる" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "ソース" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "検索エーラ!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1012,6 +1075,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "ログレベル" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1053,7 +1120,7 @@ msgid "Goodreads API Secret" msgstr "GoodreadsのAPI秘密" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1076,7 +1143,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "ログイン" @@ -1466,7 +1537,8 @@ msgstr "マジックリンクでログインする" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "設定" @@ -1474,6 +1546,94 @@ msgstr "設定" msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "" @@ -1495,8 +1655,8 @@ msgid "Choose a password" msgstr "パスワード" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "メールアドレス" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1658,10 +1818,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Kindleメール" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index 67dd1d90..61f3ed98 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -28,174 +28,202 @@ msgstr "មិនបានតម្លើង" msgid "Excecution permissions missing" msgstr "ខ្វះសិទ្ធិប្រតិបត្តិការ" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "រកមិនឃើញឯកសារទម្រង់ epub សម្រាប់សៀវភៅ %(book)d" +msgid "Epub format not found for book id: %(book)d" +msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "បម្លែង៖ %s" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "ផ្ញើទៅ Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "អ៊ីមែល៖ %s" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "ឯកសារដែលបានស្នើសុំមិនអាចបើកបានទេ។ អាចនឹងខុសសិទ្ធិប្រើប្រាស់ទេដឹង?" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "ប្តូរចំណងជើងពី “%s” ទៅជា “%s” បរាជ័យដោយបញ្ហា: %s" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "ប្តូរអ្នកនិពន្ធពី “%s” ទៅជា “%s” បរាជ័យដោយបញ្ហា: %s" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "ឯកសារ %s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "ទីតាំងសៀវភៅ %s រកមិនឃើញក្នុង Google Drive" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "ឯកសារត្រូវបានផ្លាស់ប្តូរ" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "ម៉ាស៊ីន server ត្រូវបានបញ្ឈប់" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "សៀវភៅដែលទើបបានបន្ថែម" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "សៀវភៅថ្មីៗជាងគេ" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "សៀវភៅចាស់ជាងគេ" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "សៀវភៅពី A ទៅ Z" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "សៀវភៅពី Z ទៅ A" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "សៀវភៅដែលត្រូវបានវាយតម្លៃល្អជាងគេ" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "សៀវភៅចៃដន្យ" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "បញ្ជីអ្នកនិពន្ធ" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ មិនមានឯកសារនេះ ឬមិនអាចបើកបាន៖" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "បញ្ជីស៊េរី" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "ស៊េរី៖ %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "ភាសាដែលមាន" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "ភាសា៖ %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "បញ្ជីប្រភេទ" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "ប្រភេទ៖ %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "កិច្ចការនានា" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "ស្ថិតិ" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" @@ -203,448 +231,463 @@ msgstr "" "Callback domain មិនទាន់បានផ្ទៀងផ្ទាត់ឲប្រើទេ " "សូមធ្វើតាមជំហានដើម្បីផ្ទៀងផ្ទាត់ domain នៅក្នុង Google Developer Console" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "ម៉ាស៊ីន server បានដំណើរការម្តងទៀត សូមបើកទំព័រជាថ្មី" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "កំពុងបិទម៉ាស៊ីន server សូមបិទផ្ទាំងនេះ" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "ការធ្វើបច្ចុប្បន្នភាពរួចរាល់" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "%s៖ %s" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "បានបោះពុម្ភក្រោយ %s" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "បានបោះពុម្ភមុន %s " -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "ការវាយតម្លៃ <= %s" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "ការវាយតម្លៃ >= %s" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "ស្វែងរក" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "សៀវភៅដែលបានអានរួច" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "សៀវភៅដែលមិនទាន់បានអាន" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "អានសៀវភៅ" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "សូមបំពេញចន្លោះទាំងអស់!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "ចុះឈ្មោះ" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "ចូលប្រើ" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "រកមិនឃើញវត្ថុតាង" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "វត្ថុតាងហួសពេលកំណត់" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "សៀវភៅត្រូវបានបន្ថែមទៅធ្នើ៖ %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ៖ %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "មានធ្នើដែលមានឈ្មោះ ‘%(title)s’ រួចហើយ។" -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានបង្កើត" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "មានបញ្ហា" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "បង្កើតធ្នើ" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានប្តូរ" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "កែប្រែធ្នើ" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "បានបង្កើតធ្នើឈ្មោះ %(name)s ដោយជោគជ័យ" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "ធ្នើ៖ ‘%(name)s’" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "មានបញ្ហាពេលបើកធ្នើ។ ពុំមានធ្នើ ឬមិនអាចបើកបាន" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "ប្តូរលំដាប់ធ្នើ៖ ‘%(name)s’" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "មិនដឹង" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "ទំព័ររដ្ឋបាល" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "ខ្វះការនាំចូលតម្រូវការបន្ថែមរបស់ Google Drive" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "មិនមានឯកសារ client_secrets.json ឬមិនអាចបើកបាន" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "ឯកសារ client_secrets.json មិនទាន់បានកំណត់សម្រាប់កម្មវិធីវែប" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "ការកំណត់សាមញ្ញ" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "ទីតាំងរបស់ keyfile មិនត្រឹមត្រូវ សូមបញ្ចូលទីតាំងត្រឹមត្រូវ" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "ទីតាំងរបស់ certfile មិនត្រឹមត្រូវ សូមបញ្ចូលទីតាំងត្រឹមត្រូវ" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "ទីតាំងរបស់ logfile មិនត្រឹមត្រូវ សូមបញ្ចូលទីតាំងត្រឹមត្រូវ" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "ទីតាំងរបស់ database មិនត្រឹមត្រូវ សូមបញ្ចូលទីតាំងត្រឹមត្រូវ" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "បញ្ហាដែលមិនដឹងបានកើតឡើង។" -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "មានបញ្ហាពេលបើកឯកសារ eBook ។ ពុំមានឯកសារ ឬឯកសារនេះមិនអាចបើកបាន" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %s (ពុំមានសិទ្ធិ)។" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "មិនអាចរក្សាទុកឯកសារ %s ។" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "ឯកសារទម្រង់ %s ត្រូវបានបន្ថែមទៅ %s" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "មិនដឹង" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "គម្របមិនមែនជាឯកសារ JPG មិនអាចរក្សាទុក" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "មានបញ្ហាពេលកែប្រែសៀវភៅ សូមពិនិត្យមើល logfile សម្រាប់ព័ត៌មានបន្ថែម" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "មិនអាចរក្សាទុកឯកសារ %s (មិនមានសិទ្ធិ)។" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "មិនអាចលុបឯកសារ %s (មិនមានសិទ្ធិ)។" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "ឯកសារ %s ត្រូវបានអាប់ឡូដ" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "បានចាប់ផ្តើម" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "មិនអាចរកឃើញកម្មវិធីបម្លែង %(converter)s" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "Ebook-converter បានបរាជ័យ៖ %s" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "Kindlegen បានបរាជ័យដោយមានកំហុស %(error)s. សារ៖ %(message)s" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "បានបញ្ចប់" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "កំពុងរង់ចាំ" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "បានបរាជ័យ" @@ -657,8 +700,8 @@ msgid "Nickname" msgstr "ឈ្មោះហៅក្រៅ" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "អ៊ីមែល" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -721,9 +764,9 @@ msgstr "ការកំណត់" msgid "Calibre DB dir" msgstr "ទីតាំង database Calibre" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "កម្រិត log" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -738,68 +781,72 @@ msgid "Uploading" msgstr "កំពុងអាប់ឡូដ" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "ការចុះឈ្មាះសាធារណៈ" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "ការចូលប្រើប្រាស់ពីចម្ងាយ" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "កិច្ចការរដ្ឋបាល" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Commit timestamp បច្ចុប្បន្ន" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Commit timestamp ចុងក្រោយគេ" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "ភ្ជាប់ទៅ database Calibre ម្តងទៀត" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "រកមើលបច្ចុប្បន្នភាព" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "ធ្វើបច្ចុប្បន្នភាព" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "បាទ/ចាស" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "មកក្រោយ" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "កំពុងធ្វើបច្ចុប្បន្នភាព សូមកុំបើកទំព័រជាថ្មី" @@ -823,43 +870,59 @@ msgstr "លុបសៀវភៅ" msgid "Delete formats:" msgstr "លុបឯកសារទម្រង់៖" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "លុប" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "ចំណងជើងសៀវភៅ" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "អ្នកនិពន្ធ" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "ពិពណ៌នា" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Tag" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "ស៊េរី" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "លេខសម្គាល់ស៊េរី" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "ការវាយតម្លៃ" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" @@ -867,95 +930,95 @@ msgstr "" "URL របស់ក្របមុខ (ឯកសារ JPG ក្របមុខត្រូវបានទាញយក និងរក្សាទុកក្នុង database" " ក្រោយមកចន្លោះនេះទទេម្តងទៀត)" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "ថ្ងៃបោះពុម្ភ" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "ភាសា" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "បាទ/ចាស" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "ទេ" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "ទម្រង់អាប់ឡូដ" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "មើលសៀវភៅក្រោយពីកែប្រែ" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "មើលទិន្នន័យមេតា" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "សៀវភៅនឹងត្រូវលុបចេញពី database របស់ Calibre" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "និងពីថាសរឹង" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "ពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "ស្វែងរកពាក្យគន្លឹះ" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "ទៅ!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "ចុចលើគម្របដើម្បីបញ្ចូលទិន្នន័យមេតាទៅក្នុង form" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "កំពុងដំណើរការ..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "បិទ" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "អ្នកបោះពុម្ភ" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "ប្រភព" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "ការស្វែងរកមានកំហុស!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1015,6 +1078,10 @@ msgstr "ទីតាំង SSL keyfile (ទុកទទេសម្រាប់ msgid "Logfile Configuration" msgstr "ការកំណត់ logfile" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "កម្រិត log" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "ទីតាំង និងឈ្មោះ logfile (calibre-web.log ប្រសិនបើទទេ)" @@ -1056,8 +1123,8 @@ msgid "Goodreads API Secret" msgstr "Goodreads API secret" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" -msgstr "កម្មវិធីបម្លែង E-Book" +msgid "External binaries" +msgstr "" #: cps/templates/config_edit.html:181 msgid "No converter" @@ -1079,7 +1146,11 @@ msgstr "ការកំណត់របស់កម្មវិធីបម្ល msgid "Path to convertertool" msgstr "ទីតាំងរបស់កម្មវិធីបម្លែង" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "ចូលប្រើប្រាស់" @@ -1471,7 +1542,8 @@ msgstr "ចូលប្រើប្រាស់ដោយ magic link" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "ការកំណត់" @@ -1479,6 +1551,94 @@ msgstr "ការកំណត់" msgid "Reflow text when sidebars are open." msgstr "សេរេអត្ថបទនៅពេលបើកផ្ទាំងចំហៀង។" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "ការតុបតែង" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "កម្មវិធីមើល PDF.js" @@ -1500,8 +1660,8 @@ msgid "Choose a password" msgstr "ជ្រើសរើសលេខសម្ងាត់" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "អាសយដ្ឋានអ៊ីមែល" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1663,10 +1823,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "អ៊ីមែល Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "ការតុបតែង" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "ការតុបតែងសម្រាប់ប្រើ" diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index 92d5e08c..3a080b0f 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-06-21 20:15+0200\n" "Last-Translator: \n" "Language: nl\n" @@ -42,625 +42,668 @@ msgstr "niet geïnstalleerd" msgid "Excecution permissions missing" msgstr "Rechten om uit te voeren ontbreken" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "epub type niet gevonden voor boek met id: %(book)d" +msgid "Epub format not found for book id: %(book)d" +msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Stuur naar Kindle:" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Update pakket wordt aangevraagd" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Update pakket wordt gedownload" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Update pakket wordt uitgepakt" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Bestanden zijn vervangen" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Database verbindingen zijn gesloten" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Server is gestopt" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Update voltooid, klik op ok en herlaad de pagina" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "Recent toegevoegde boeken" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "Nieuwste boeken" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "Oudste boeken" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "Boeken (A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "Boeken (A-Z)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Populaire boeken (meeste downloads)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Best beoordeelde boeken" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Willekeurige boeken" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Auteur lijst" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "" "Fout bij openen van het boek. Bestand bestaat niet of is niet " "toegankelijk:" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Serie lijst" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Beschikbare talen" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Taal: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Categorie lijst" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Categorie: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Statistieken" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Server herstart, gelieve de pagina herladen" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Bezig met het stoppen van de server, gelieve venster te sluiten" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Update voltooid" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "zoek" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Gelezen Boeken" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Ongelezen Boeken" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Lees een boek" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "Gelieve alle velden in te vullen!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "registreer" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "je bent nu ingelogd als: '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Verkeerde gebruikersnaam of Wachtwoord" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "login" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "Token niet gevonden" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "Token is verlopen" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "Gelukt! Ga terug naar je apparaat" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Gelieve de SMTP mail instellingen eerst te configureren..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Er trad een fout op bij het versturen van dit boek: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Boek werd toegevoegd aan boekenplank: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Boek werd verwijderd van boekenplank: %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Een boekenplank met de naam '%(title)s' bestaat reeds." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Boekenplank %(title)s aangemaakt" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Er deed zich een fout voor" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "maak een boekenplank" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Boekenplank %(title)s gewijzigd" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Bewerk een boekenplank" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "Boekenplank %(name)s succesvol gewist" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Boekenplank: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" "Fout bij openen boekenplank. Boekenplank bestaat niet of is niet " "toegankelijk" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Verander volgorde van Boekenplank: '%(name)s'" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's profiel" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Profiel aangepast" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Administratie pagina" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web configuratie aangepast" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Basis configuratie" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "DB locatie is niet geldig, gelieve het correcte pad in te geven" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Voeg nieuwe gebruiker toe" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Gebruiker '%(user)s' aangemaakt" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Gebruiker '%(nick)s' verwijderd" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' aangepast" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Een onbekende fout deed zich voor." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Bewerk gebruiker '%(nick)s'" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 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:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "Bewerk metadata" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 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:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Het pad %s aanmaken mislukt (Geen toestemming)." -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "Bestand opslaan niet gelukt voor %s." -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "onbekend" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Bestand %s opslaan mislukt (Geen toestemming)." -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Bestand %s wissen mislukt (Geen toestemming)." -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "Kindlegen gefaald met Error %(error)s. Bericht: %(message)s" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -673,8 +716,8 @@ msgid "Nickname" msgstr "Gebruikersnaam" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "Email" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -737,9 +780,9 @@ msgstr "Configuratie" msgid "Calibre DB dir" msgstr "Calibre DB map" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "Log niveau" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -754,68 +797,72 @@ msgid "Uploading" msgstr "Aan het uploaden" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Publieke registratie" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "Login op afstand" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Administratie" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Huidige commit tijdsstempel" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Nieuwste commit tijdsstempel" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Herverbinden met calibre DB" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Herstart Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Stop Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Controleer voor update" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Voer update uit" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Wil je Calibre-Web echt herstarten?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "Ok" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Terug" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Wil je Calibre-Web echt stoppen?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Aan het updaten, gelieve de pagina niet te herladen" @@ -839,137 +886,153 @@ msgstr "Wis boek" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Wis" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Boek titel" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Auteur" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Omschrijving" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Tags" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Series" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Series id" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Beoordeling" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Publicatie datum" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Taal" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Ja" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "Nee" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "Upload type" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "bekijk boek na bewerking" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Verkrijg metadata" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "Ben je zeker?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "Boek wordt nu gewist uit de Calibre database" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "en van de harde schijf" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Zoekwoord" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "Zoek voor zoekwoord" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Start!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 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:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Aan het laden..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Sluit" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Uitgever" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Bron" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Zoek fout!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1029,6 +1092,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Log niveau" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1070,7 +1137,7 @@ msgid "Goodreads API Secret" msgstr "Goodreads API geheim" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1093,7 +1160,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Login" @@ -1485,7 +1556,8 @@ msgstr "Inloggen met magische koppeling" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "Instellingen" @@ -1493,6 +1565,94 @@ msgstr "Instellingen" msgid "Reflow text when sidebars are open." msgstr "Herschuif tekst waneer het zijpaneel open staat." +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "PDF.js viewer" @@ -1514,8 +1674,8 @@ msgid "Choose a password" msgstr "Kies een wachtwoord" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Email adres" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1677,10 +1837,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Kindle email" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po index 27096401..fb4f5df7 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-04-11 22:51+0200\n" "Last-Translator: Radosław Kierznowski \n" "Language: pl\n" @@ -33,621 +33,664 @@ msgstr "nie zainstalowane" msgid "Excecution permissions missing" msgstr "" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" +msgid "Epub format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Wyślij do Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Żądanie o pakiet aktualizacji" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Pobieranie pakietu aktualizacji" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Rozpakowywanie pakietu aktualizacji" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Pliki zostały zastąpione" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Połączenia z bazą danych zostały zakończone" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Serwer jest zatrzymany" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Najpopularniejsze książki (najczęściej pobierane)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Najlepiej oceniane książki" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Losowe książki" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Lista autorów" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Błąd otwierania e-booka. Plik nie istnieje lub plik nie jest dostępny:" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Lista serii" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Seria: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Dostępne języki" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Język: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Lista kategorii" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Statystyki" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Aktualizacja zakończona" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "szukaj" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Przeczytane książki" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Nieprzeczytane książki" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Czytaj książkę" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "Proszę wypełnić wszystkie pola!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "rejestracja" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Zalogowałeś się jako: '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Błędna nazwa użytkownika lub hasło" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "logowanie" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Książka została dodana do półki: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Książka została usunięta z półki: %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Półka o nazwie '%(title)s' już istnieje." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Półka %(title)s została utworzona" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Wystąpił błąd" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "utwórz półkę" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Półka %(title)s została zmieniona" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Edytuj półkę" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "pomyślnie usunięto półkę %(name)s" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Półka: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Zmieniono kolejność półki: '%(name)s'" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "Profil użytkownika %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Zaktualizowano profil" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Portal administracyjny" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Konfiguracja Calibre-Web została zaktualizowana" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Podstawowa konfiguracja" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "Lokalizacja bazy danych jest nieprawidłowa, wpisz poprawną ścieżkę" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Dodaj nowego użytkownika" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Użytkownik '%(user)s' został utworzony" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Użytkownik '%(nick)s' został usunięty" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Wystąpił nieznany błąd." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Edytuj użytkownika %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, 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:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "Plik do przesłania musi mieć rozszerzenie" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)." -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)." -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)." -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -660,8 +703,8 @@ msgid "Nickname" msgstr "Nazwa użytkownika" #: cps/templates/admin.html:8 -msgid "Email" -msgstr "Email" +msgid "E-mail" +msgstr "" #: cps/templates/admin.html:9 msgid "Kindle" @@ -724,9 +767,9 @@ msgstr "Konfiguracja" msgid "Calibre DB dir" msgstr "Folder bazy danych Calibre" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "Poziom logów" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -741,68 +784,72 @@ msgid "Uploading" msgstr "Wysyłanie" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Publiczna rejestracja" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Zarządzanie" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "Znacznik czasowy zainstalowanej wersji" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "Znacznik czasowy nowej wersji" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Połącz ponownie z bazą danych Calibre" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Uruchom ponownie Calibre Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Zatrzymaj Calibre Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Sprawdź aktualizacje" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Wykonaj aktualizację" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "OK" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Wróć" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Na pewno chcesz zatrzymać Calibre Web?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Aktualizowanie, proszę nie odświeżać strony" @@ -826,137 +873,153 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Tytuł książki" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Autor" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Opis" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Tagi" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Seria" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "ID serii" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Ocena" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Data publikacji" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Język" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Tak" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "Nie" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "wyświetl książkę po edycji" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Uzyskaj metadane" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Słowo kluczowe" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr " Szukaj słowa kluczowego " -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Idź!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 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:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Ładowanie..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Zamknij" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Wydawca" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Źródło" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Błąd wyszukiwania!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1017,6 +1080,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Poziom logów" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1058,7 +1125,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1081,7 +1148,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Zaloguj się" @@ -1473,7 +1544,8 @@ msgstr "" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1482,6 +1554,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "Tekst pływający, gdy paski boczne są otwarte." +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "PDF.js viewer" @@ -1503,8 +1663,8 @@ msgid "Choose a password" msgstr "Wybierz hasło" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Adres e-mail" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1666,10 +1826,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Adres e-mail Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index 2ad9dac0..4512dda6 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n" "Last-Translator: Pavel Korovin \n" "Language: ru\n" @@ -35,621 +35,664 @@ msgstr "Отсутствует" msgid "Excecution permissions missing" msgstr "" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" +msgid "Epub format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "Отправить на Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "Проверка обновлений" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "Загрузка обновлений" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "Распаковка обновлений" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "Файлы заменены" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "Соеднинения с базой данных закрыты" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "Сервер остановлен" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "Обновления установлены, нажмите okay и перезагрузите страницу" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "Популярные книги (часто загружаемые)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "Книги с наивысшим рейтингом" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "Случайный выбор" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "Авторы" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Невозможно открыть книгу. Файл не существует или недоступен." -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "Серии" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "Серии: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "Языки" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "Язык: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "Категории" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "Категория: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "Статистика" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "Сервер перезагружен, пожалуйста, перезагрузите страницу" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "Производится остановка сервера, пожалуйста, закройте окно" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "Обновление закончено" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "поиск" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "Прочитанные" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "Непрочитанные" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "Читать книгу" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "Пожалуйста, заполните все поля!" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "зарегистрироваться" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "Вы вошли как пользователь '%(nickname)s'" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "Ошибка в имени пользователя или пароле" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "войти" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "Пожалуйста, сначала сконфигурируйте параметры SMTP" -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Ошибка при отправке книги: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "Книга добавлена на книжную полку: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "Книга удалена с книжной полки: %(sname)s" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "Книжкная полка с названием '%(title)s' уже существует." -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "Создана книжная полка %(title)s" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "Произошла ошибка" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "создать книжную полку" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "Книжная полка %(title)s изменена" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "Изменить книжную полку" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "Книжная полка %(name)s удалена" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "Книжная полка: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Изменить расположение книжной полки '%(name)s'" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "Профиль %(name)s" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "Профиль обновлён" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "Администрирование" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Конфигурация Calibre-Web обновлена" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "Настройки сервера" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "Неверный путь к фалу БД, пожалуйста, укажите правильное расположение БД" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "Добавить пользователя" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "Пользователь '%(user)s' добавлен" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "Пользователь '%(nick)s' удалён" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "Произошла неизвестная ошибка." -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "Изменить пользователя %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением \"%s\"" -#: cps/web.py:3201 cps/web.py:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "Ошибка при создании пути %s (доступ запрещён)" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "неизвестно" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "Ошибка записи файоа %s (доступ запрещён)" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "Ошибка удаления файла %s (доступ запрещён)" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -662,7 +705,7 @@ msgid "Nickname" msgstr "Имя пользователя" #: cps/templates/admin.html:8 -msgid "Email" +msgid "E-mail" msgstr "" #: cps/templates/admin.html:9 @@ -726,9 +769,9 @@ msgstr "Настройки сервера" msgid "Calibre DB dir" msgstr "Папка Calibre DB" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "Уровень логирования" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -743,68 +786,72 @@ msgid "Uploading" msgstr "Загрузка на сервер" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "Публичная регистрация" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "Управление" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "Переподключиться к БД Calibre" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "Перезагрузить Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "Остановить Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "Проверка обновлений" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "Установить обновления" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "Вы действительно хотите перезагрузить Calibre-Web?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "Ok" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "Назад" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "Вы действительно хотите остановить Calibre-Web?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "Установка обновлений, пожалуйста, не обновляйте страницу." @@ -828,137 +875,153 @@ msgstr "Удалить книгу" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "Удалить" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "Название" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "Автор" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "Описание" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "Теги" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "Серии" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "Серия" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "Рейтинг" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "Опубликовано" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "Язык" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "Да" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "Нет" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "смотреть книгу после редактирования" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "Получить метаданные" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "Вы действительно уверены?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "Книга будет удалена из БД Calibre" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "и с диска" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "Ключевое слово" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr " Поиск по ключевому слову" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "Искать" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "Нажмите на обложку, чтобы получить метаданные" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "Загрузка..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "Закрыть" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "Издатель" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "Источник" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "Ошибка поиска!" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1018,6 +1081,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "Уровень логирования" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1059,7 +1126,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1082,7 +1149,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "Имя пользователя" @@ -1472,7 +1543,8 @@ msgstr "" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1480,6 +1552,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "Обновить размещение текста при открытии боковой панели" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "Просмотровщик PDF.js" @@ -1501,8 +1661,8 @@ msgid "Choose a password" msgstr "Выберите пароль" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "Электронная почта" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1664,10 +1824,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Адрес почты Kindle" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 9984fe44..1f808ebf 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: 2017-01-06 17:00+0000\n" "Last-Translator: dalin \n" "Language: zh_Hans_CN\n" @@ -35,621 +35,664 @@ msgstr "未安装" msgid "Excecution permissions missing" msgstr "可执行权限缺失" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" -msgstr "没有找到书籍ID %(book)d 的epub格式" +msgid "Epub format not found for book id: %(book)d" +msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "发送到Kindle" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "正在请求更新包" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "正在下载更新包" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "正在解压更新包" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "文件已替换" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "数据库连接已关闭" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "服务器已停止" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "更新完成,请按确定并刷新页面" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "最近添加的书籍" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "最新书籍" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "最旧书籍" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "书籍 (A-Z)" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "书籍 (Z-A)" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "热门书籍(最多下载)" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "最高评分书籍" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "随机书籍" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "作者列表" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "无法打开电子书。 文件不存在或者文件不可访问:" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "丛书列表" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "丛书: %(serie)s" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "可用语言" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "语言: %(name)s" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "分类列表" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "分类: %(name)s" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "统计" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "" "Callback domain is not verified, please follow steps to verify domain in " "google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "服务器已重启,请刷新页面" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "正在关闭服务器,请关闭窗口" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "更新完成" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "搜索" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "已读书籍" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "未读书籍" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "阅读一本书" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "请填写所有字段" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "注册" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "您现在已以'%(nickname)s'身份登录" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "用户名或密码错误" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "登录" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "找不到Token" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "Token已过期" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "成功!请返回您的设备" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "请先配置SMTP邮箱..." -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "发送这本书的时候出现错误: %(res)s" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "此书已被添加到书架: %(sname)s" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "此书已从书架 %(sname)s 中删除" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "已存在书架 '%(title)s'。" -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "书架 %(title)s 已被创建" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "发生错误" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "创建书架" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "书架 %(title)s 已被修改" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "编辑书架" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "成功删除书架 %(name)s" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架: '%(name)s'" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架不存在或不可访问" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 '%(name)s' 顺序" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的资料" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "资料已更新" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "管理页" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "基本配置" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "DB位置无效,请输入正确路径" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "添加新用户" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "用户 '%(user)s' 已被创建" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户 '%(nick)s' 已被删除" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "用户 '%(nick)s' 已被更新" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "发生未知错误。" -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "打开电子书出错。文件不存在或不可访问" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "编辑元数据" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "不能上传后缀为 \"%s\" 的文件到此服务器" -#: cps/web.py:3201 cps/web.py:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须有一个后缀" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "创建路径 %s 失败(权限拒绝)。" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "未知" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "存储文件 %s 失败(权限拒绝)。" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "删除文件 %s 失败(权限拒绝)。" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "Kindlegen 因为错误 %(error)s 失败。消息: %(message)s" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -662,7 +705,7 @@ msgid "Nickname" msgstr "昵称" #: cps/templates/admin.html:8 -msgid "Email" +msgid "E-mail" msgstr "" #: cps/templates/admin.html:9 @@ -726,9 +769,9 @@ msgstr "配置" msgid "Calibre DB dir" msgstr "Calibre DB目录" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" -msgstr "日志级别" +#: cps/templates/admin.html:57 +msgid "Log level" +msgstr "" #: cps/templates/admin.html:61 msgid "Port" @@ -743,68 +786,72 @@ msgid "Uploading" msgstr "上传" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "开放注册" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 msgid "Remote login" msgstr "远程登录" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "管理" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "当前提交时间戳" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "最新提交时间戳" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "重新连接到Calibre数据库" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "重启 Calibre-Web" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "停止 Calibre-Web" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "检查更新" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "执行更新" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "您确定要重启 Calibre-Web 吗?" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "确定" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "后退" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "您确定要关闭 Calibre-Web 吗?" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "正在更新,请不要刷新页面" @@ -828,137 +875,153 @@ msgstr "删除书籍" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "删除" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "书名" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "作者" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "简介" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "标签" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "丛书" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "丛书ID" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "评分" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "" "Cover URL (jpg, cover is downloaded and stored in database, field is " "afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "出版日期" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "语言" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "确认" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "编辑后查看书籍" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "获取元数据" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "您真的确认?" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "书籍会被从Calibre数据库和硬盘中删除" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "关键字" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "搜索关键字" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "走起!" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "点击封面加载元数据到表单" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "加载中..." -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "关闭" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "出版社" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "来源" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "搜索错误" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1018,6 +1081,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "日志级别" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1059,7 +1126,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1082,7 +1149,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "登录" @@ -1472,7 +1543,8 @@ msgstr "通过魔法链接登录" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1480,6 +1552,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "PDF.js 查看器" @@ -1501,8 +1661,8 @@ msgid "Choose a password" msgstr "选择一个密码" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" -msgstr "邮箱地址" +msgid "E-mail address" +msgstr "" #: cps/templates/register.html:16 msgid "Your email address" @@ -1664,10 +1824,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr "" diff --git a/cps/web.py b/cps/web.py index 65dce315..597f177c 100644 --- a/cps/web.py +++ b/cps/web.py @@ -3271,10 +3271,28 @@ def edit_book(book_id): for authr in book.authors: author_names.append(authr.name.replace('|', ',')) + # Option for showing convertbook button + if config.config_ebookconverter == 2: + display_convertbtn = True + else: + display_convertbtn = False + + # Determine what formats don't already exist + allowed_conversion_formats = ALLOWED_EXTENSIONS.copy() + for file in book.data: + try: + allowed_conversion_formats.remove(file.format.lower()) + except Exception: + app.logger.warning(file.format.lower() + ' already removed from list.') + + app.logger.debug('Allowed conversion formats:') + app.logger.debug(allowed_conversion_formats) + # Show form if request.method != 'POST': return render_title_template('book_edit.html', book=book, authors=author_names, cc=cc, - title=_(u"edit metadata"), page="editbook") + title=_(u"edit metadata"), page="editbook", display_convertbtn=display_convertbtn, + conversion_formats=allowed_conversion_formats) # Update book edited_books_id = set() @@ -3700,3 +3718,30 @@ def upload(): return render_title_template('detail.html', entry=book, cc=cc, title=book.title, books_shelfs=book_in_shelfs, page="upload") return redirect(url_for("index")) + + +@app.route("/admin/book/convert/", methods=['POST']) +@login_required_if_no_ano +@edit_required +def convert_bookformat(book_id): + # check to see if we have form fields to work with - if not send user back + book_format_from = request.form.get('book_format_from', None) + book_format_to = request.form.get('book_format_to', None) + + if (book_format_from is None) or (book_format_to is None): + flash(_(u"Source or destination format for conversion missing"), category="error") + return redirect(request.environ["HTTP_REFERER"]) + + app.logger.debug('converting: book id: ' + str(book_id) + + ' from: ' + request.form['book_format_from'] + + ' to: ' + request.form['book_format_to']) + rtn = helper.convert_book_format(book_id, config.config_calibre_dir, book_format_from.upper(), + book_format_to.upper(), current_user.nickname) + + if rtn is None: + flash(_(u"Book successfully queued for converting to %(book_format)s", + book_format=book_format_to), + category="success") + else: + flash(_(u"There was an error converting this book: %(res)s", res=rtn), category="error") + return redirect(request.environ["HTTP_REFERER"]) diff --git a/cps/worker.py b/cps/worker.py index e2958232..fff2c774 100644 --- a/cps/worker.py +++ b/cps/worker.py @@ -42,6 +42,7 @@ STAT_FINISH_SUCCESS = 3 TASK_EMAIL = 1 TASK_CONVERT = 2 TASK_UPLOAD = 3 +TASK_CONVERT_ANY = 4 RET_FAIL = 0 RET_SUCCESS = 1 @@ -171,7 +172,9 @@ class WorkerThread(threading.Thread): if self.queue[self.current]['typ'] == TASK_EMAIL: self.send_raw_email() if self.queue[self.current]['typ'] == TASK_CONVERT: - self.convert_mobi() + self.convert_any_format() + if self.queue[self.current]['typ'] == TASK_CONVERT_ANY: + self.convert_any_format() # TASK_UPLOAD is handled implicitly self.current += 1 else: @@ -200,61 +203,75 @@ class WorkerThread(threading.Thread): def get_taskstatus(self): if self.current < len(self.queue): if self.queue[self.current]['status'] == STAT_STARTED: - if not self.queue[self.current]['typ'] == TASK_CONVERT: + if self.queue[self.current]['typ'] == TASK_EMAIL: self.UIqueue[self.current]['progress'] = self.get_send_status() self.UIqueue[self.current]['runtime'] = self._formatRuntime( datetime.now() - self.queue[self.current]['starttime']) return self.UIqueue - def convert_mobi(self): + def convert_any_format(self): # convert book, and upload in case of google drive self.queue[self.current]['status'] = STAT_STARTED self.UIqueue[self.current]['status'] = _('Started') self.queue[self.current]['starttime'] = datetime.now() self.UIqueue[self.current]['formStarttime'] = self.queue[self.current]['starttime'] - filename=self.convert() - if web.ub.config.config_use_google_drive: - gd.updateGdriveCalibreFromLocal() - if(filename): - self.add_email(_(u'Send to Kindle'), self.queue[self.current]['path'], filename, + curr_task = self.queue[self.current]['typ'] + filename = self.convert_ebook_format() + if filename: + if web.ub.config.config_use_google_drive: + gd.updateGdriveCalibreFromLocal() + if curr_task == TASK_CONVERT: + self.add_email(_(u'Send to Kindle'), self.queue[self.current]['path'], filename, self.queue[self.current]['settings'], self.queue[self.current]['kindle'], self.UIqueue[self.current]['user'], _(u"E-mail: %s" % self.queue[self.current]['title'])) - def convert(self): + + def convert_ebook_format(self): error_message = None file_path = self.queue[self.current]['file_path'] bookid = self.queue[self.current]['bookid'] - # check if converter-excecutable is existing + format_old_ext = u'.' + self.queue[self.current]['settings']['old_book_format'].lower() + format_new_ext = u'.' + self.queue[self.current]['settings']['new_book_format'].lower() + # check if converter-executable is existing if not os.path.exists(web.ub.config.config_converterpath): self._handleError(_(u"Convertertool %(converter)s not found", converter=web.ub.config.config_converterpath)) return try: # check which converter to use kindlegen is "1" - if web.ub.config.config_ebookconverter == 1: - command = [web.ub.config.config_converterpath, u'"' + file_path + u'.epub"'] - else: + if format_old_ext == '.epub' and format_new_ext == '.mobi': + if web.ub.config.config_ebookconverter == 1: + if os.name == 'nt': + command = web.ub.config.config_converterpath + u' "' + file_path + u'.epub"' + if sys.version_info < (3, 0): + command = command.encode(sys.getfilesystemencoding()) + else: + command = [web.ub.config.config_converterpath, file_path + u'.epub'] + if sys.version_info < (3, 0): + command = [x.encode(sys.getfilesystemencoding()) for x in command] + if web.ub.config.config_ebookconverter == 2: # Linux py2.7 encode as list without quotes no empty element for parameters # linux py3.x no encode and as list without quotes no empty element for parameters - # windows py2.7 encode as string with qoutes empty element for parameters is okay - # windows py 3.x no encode and as string with qoutes empty element for parameters is okay - # seperate handling for windows and linux + # windows py2.7 encode as string with quotes empty element for parameters is okay + # windows py 3.x no encode and as string with quotes empty element for parameters is okay + # separate handling for windows and linux if os.name == 'nt': - command = web.ub.config.config_converterpath + u' "' + file_path + u'.epub" "' + \ - file_path + u'.mobi" ' + web.ub.config.config_calibre + command = web.ub.config.config_converterpath + u' "' + file_path + format_old_ext + u'" "' + \ + file_path + format_new_ext + u'" ' + web.ub.config.config_calibre if sys.version_info < (3, 0): command = command.encode(sys.getfilesystemencoding()) else: - command = [web.ub.config.config_converterpath, (file_path + u'.epub'), - (file_path + u'.mobi')] + command = [web.ub.config.config_converterpath, (file_path + format_old_ext), + (file_path + format_new_ext)] if web.ub.config.config_calibre: command.append(web.ub.config.config_calibre) if sys.version_info < (3, 0): - command = [ x.encode(sys.getfilesystemencoding()) for x in command ] + command = [x.encode(sys.getfilesystemencoding()) for x in command] p = subprocess.Popen(command, stdout=subprocess.PIPE, universal_newlines=True) except OSError as e: self._handleError(_(u"Ebook-converter failed: %s" % e)) return + if web.ub.config.config_ebookconverter == 1: nextline = p.communicate()[0] # Format of error message (kindlegen translates its output texts): @@ -265,7 +282,6 @@ class WorkerThread(threading.Thread): error_message = _(u"Kindlegen failed with Error %(error)s. Message: %(message)s", error=conv_error.group(1), message=conv_error.group(2).strip()) web.app.logger.debug("convert_kindlegen: " + nextline) - else: while p.poll() is None: nextline = p.stdout.readline() @@ -277,30 +293,31 @@ class WorkerThread(threading.Thread): if progress: self.UIqueue[self.current]['progress'] = progress.group(1) + ' %' - #process returncode + # process returncode check = p.returncode # kindlegen returncodes # 0 = Info(prcgen):I1036: Mobi file built successfully # 1 = Info(prcgen):I1037: Mobi file built with WARNINGS! # 2 = Info(prcgen):I1038: MOBI file could not be generated because of errors! - if ( check < 2 and web.ub.config.config_ebookconverter == 1) or \ - (check == 0 and web.ub.config.config_ebookconverter == 2): + if (check < 2 and web.ub.config.config_ebookconverter == 1) or \ + (check == 0 and web.ub.config.config_ebookconverter == 2): cur_book = web.db.session.query(web.db.Books).filter(web.db.Books.id == bookid).first() - new_format = web.db.Data(name=cur_book.data[0].name,book_format="MOBI", - book=bookid,uncompressed_size=os.path.getsize(file_path + ".mobi")) + new_format = web.db.Data(name=cur_book.data[0].name, + book_format=self.queue[self.current]['settings']['new_book_format'], + book=bookid, uncompressed_size=os.path.getsize(file_path + format_new_ext)) cur_book.data.append(new_format) web.db.session.commit() self.queue[self.current]['path'] = cur_book.path self.queue[self.current]['title'] = cur_book.title if web.ub.config.config_use_google_drive: - os.remove(file_path + u".epub") + os.remove(file_path + format_old_ext) self.queue[self.current]['status'] = STAT_FINISH_SUCCESS self.UIqueue[self.current]['status'] = _('Finished') self.UIqueue[self.current]['progress'] = "100 %" self.UIqueue[self.current]['runtime'] = self._formatRuntime( - datetime.now() - self.queue[self.current]['starttime']) - return file_path + ".mobi" + datetime.now() - self.queue[self.current]['starttime']) + return file_path + format_new_ext else: web.app.logger.info("ebook converter failed with error while converting book") if not error_message: @@ -309,18 +326,20 @@ class WorkerThread(threading.Thread): return - def add_convert(self, file_path, bookid, user_name, typ, settings, kindle_mail): + def add_convert(self, file_path, bookid, user_name, typ, settings, kindle_mail=None): addLock = threading.Lock() addLock.acquire() if self.last >= 20: self.delete_completed_tasks() # progress, runtime, and status = 0 self.id += 1 - self.queue.append({'file_path':file_path, 'bookid':bookid, 'starttime': 0, 'kindle':kindle_mail, - 'status': STAT_WAITING, 'typ': TASK_CONVERT, 'settings':settings}) + task = TASK_CONVERT_ANY + if kindle_mail: + task = TASK_CONVERT + self.queue.append({'file_path':file_path, 'bookid':bookid, 'starttime': 0, 'kindle': kindle_mail, + 'status': STAT_WAITING, 'typ': task, 'settings':settings}) self.UIqueue.append({'user': user_name, 'formStarttime': '', 'progress': " 0 %", 'type': typ, 'runtime': '0 s', 'status': _('Waiting'),'id': self.id } ) - self.id += 1 self.last=len(self.queue) addLock.release() @@ -334,12 +353,12 @@ class WorkerThread(threading.Thread): if self.last >= 20: self.delete_completed_tasks() # progress, runtime, and status = 0 + self.id += 1 self.queue.append({'subject':subject, 'attachment':attachment, 'filepath':filepath, 'settings':settings, 'recipent':recipient, 'starttime': 0, 'status': STAT_WAITING, 'typ': TASK_EMAIL, 'text':text}) self.UIqueue.append({'user': user_name, 'formStarttime': '', 'progress': " 0 %", 'type': typ, 'runtime': '0 s', 'status': _('Waiting'),'id': self.id }) - self.id += 1 self.last=len(self.queue) addLock.release() @@ -350,15 +369,15 @@ class WorkerThread(threading.Thread): if self.last >= 20: self.delete_completed_tasks() # progress=100%, runtime=0, and status finished + self.id += 1 self.queue.append({'starttime': datetime.now(), 'status': STAT_FINISH_SUCCESS, 'typ': TASK_UPLOAD}) self.UIqueue.append({'user': user_name, 'formStarttime': '', 'progress': "100 %", 'type': typ, 'runtime': '0 s', 'status': _('Finished'),'id': self.id }) self.UIqueue[self.current]['formStarttime'] = self.queue[self.current]['starttime'] - self.id += 1 self.last=len(self.queue) addLock.release() - - + + def send_raw_email(self): self.queue[self.current]['starttime'] = datetime.now() self.UIqueue[self.current]['formStarttime'] = self.queue[self.current]['starttime'] diff --git a/messages.pot b/messages.pot index 22192793..69e080ee 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 14:05+0200\n" +"POT-Creation-Date: 2018-08-31 14:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,619 +26,662 @@ msgstr "" msgid "Excecution permissions missing" msgstr "" -#: cps/helper.py:55 +#: cps/helper.py:56 #, python-format -msgid "epub format not found for book id: %(book)d" +msgid "Epub format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:71 +#: cps/helper.py:75 #, python-format msgid "Convert: %s" msgstr "" -#: cps/helper.py:80 +#: cps/helper.py:84 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:81 +#: cps/helper.py:85 msgid "Test e-mail" msgstr "" -#: cps/helper.py:96 +#: cps/helper.py:100 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:101 #, python-format msgid "Registration e-mail for user: %s" msgstr "" -#: cps/helper.py:120 cps/helper.py:130 +#: cps/helper.py:124 cps/helper.py:134 msgid "Could not find any formats suitable for sending by e-mail" msgstr "" -#: cps/helper.py:132 cps/templates/detail.html:44 cps/worker.py:219 +#: cps/helper.py:136 cps/templates/detail.html:44 cps/worker.py:224 msgid "Send to Kindle" msgstr "" -#: cps/helper.py:133 +#: cps/helper.py:137 #, python-format msgid "E-Mail: %s" msgstr "" -#: cps/helper.py:135 +#: cps/helper.py:139 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:230 +#: cps/helper.py:147 +#, python-format +msgid "%(format)s format not found for book id: %(book)d" +msgstr "" + +#: cps/helper.py:159 +#, python-format +msgid "%(format)s not found on Google Drive: %(fn)s" +msgstr "" + +#: cps/helper.py:171 cps/helper.py:178 +#, python-format +msgid "Convert to %(format)s: %(book)s" +msgstr "" + +#: cps/helper.py:184 +#, python-format +msgid "%(format)s not found: %(fn)s" +msgstr "" + +#: cps/helper.py:280 #, python-format msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:239 +#: cps/helper.py:289 #, python-format msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s" msgstr "" -#: cps/helper.py:262 cps/helper.py:271 +#: cps/helper.py:312 cps/helper.py:321 #, python-format msgid "File %s not found on Google Drive" msgstr "" -#: cps/helper.py:289 +#: cps/helper.py:339 #, python-format msgid "Book path %s not found on Google Drive" msgstr "" -#: cps/web.py:1065 +#: cps/helper.py:584 +msgid "Error excecuting UnRar" +msgstr "" + +#: cps/helper.py:586 +msgid "Unrar binary file not found" +msgstr "" + +#: cps/web.py:1138 msgid "Requesting update package" msgstr "" -#: cps/web.py:1066 +#: cps/web.py:1139 msgid "Downloading update package" msgstr "" -#: cps/web.py:1067 +#: cps/web.py:1140 msgid "Unzipping update package" msgstr "" -#: cps/web.py:1068 +#: cps/web.py:1141 msgid "Files are replaced" msgstr "" -#: cps/web.py:1069 +#: cps/web.py:1142 msgid "Database connections are closed" msgstr "" -#: cps/web.py:1070 +#: cps/web.py:1143 msgid "Server is stopped" msgstr "" -#: cps/web.py:1071 +#: cps/web.py:1144 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/web.py:1091 +#: cps/web.py:1164 msgid "Recently Added Books" msgstr "" -#: cps/web.py:1101 +#: cps/web.py:1174 msgid "Newest Books" msgstr "" -#: cps/web.py:1113 +#: cps/web.py:1186 msgid "Oldest Books" msgstr "" -#: cps/web.py:1125 +#: cps/web.py:1198 msgid "Books (A-Z)" msgstr "" -#: cps/web.py:1136 +#: cps/web.py:1209 msgid "Books (Z-A)" msgstr "" -#: cps/web.py:1165 +#: cps/web.py:1238 msgid "Hot Books (most downloaded)" msgstr "" -#: cps/web.py:1178 +#: cps/web.py:1251 msgid "Best rated books" msgstr "" -#: cps/templates/index.xml:36 cps/web.py:1190 +#: cps/templates/index.xml:36 cps/web.py:1263 msgid "Random Books" msgstr "" -#: cps/web.py:1205 +#: cps/web.py:1278 msgid "Author list" msgstr "" -#: cps/web.py:1217 cps/web.py:1280 cps/web.py:1434 cps/web.py:1986 +#: cps/web.py:1290 cps/web.py:1353 cps/web.py:1508 cps/web.py:2060 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "" -#: cps/templates/index.xml:73 cps/web.py:1264 +#: cps/templates/index.xml:73 cps/web.py:1337 msgid "Series list" msgstr "" -#: cps/web.py:1278 +#: cps/web.py:1351 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:1305 +#: cps/web.py:1378 msgid "Available languages" msgstr "" -#: cps/web.py:1322 +#: cps/web.py:1395 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/index.xml:66 cps/web.py:1333 +#: cps/templates/index.xml:66 cps/web.py:1406 msgid "Category list" msgstr "" -#: cps/web.py:1347 +#: cps/web.py:1420 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/templates/layout.html:71 cps/web.py:1484 +#: cps/templates/layout.html:71 cps/web.py:1559 msgid "Tasks" msgstr "" -#: cps/web.py:1515 +#: cps/web.py:1589 msgid "Statistics" msgstr "" -#: cps/web.py:1620 +#: cps/web.py:1694 msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/web.py:1696 +#: cps/web.py:1770 msgid "Server restarted, please reload page" msgstr "" -#: cps/web.py:1699 +#: cps/web.py:1773 msgid "Performing shutdown of server, please close window" msgstr "" -#: cps/web.py:1717 +#: cps/web.py:1791 msgid "Update done" msgstr "" -#: cps/web.py:1773 cps/web.py:1810 +#: cps/web.py:1847 cps/web.py:1884 #, python-format msgid "%s: %s" msgstr "" -#: cps/web.py:1785 +#: cps/web.py:1859 #, python-format msgid "Published after %s" msgstr "" -#: cps/web.py:1790 +#: cps/web.py:1864 msgid "Published before " msgstr "" -#: cps/web.py:1804 +#: cps/web.py:1878 #, python-format msgid "Rating <= %s" msgstr "" -#: cps/web.py:1806 +#: cps/web.py:1880 #, python-format msgid "Rating >= %s" msgstr "" -#: cps/web.py:1865 cps/web.py:1874 +#: cps/web.py:1939 cps/web.py:1948 msgid "search" msgstr "" #: cps/templates/index.xml:44 cps/templates/index.xml:48 -#: cps/templates/layout.html:146 cps/web.py:1941 +#: cps/templates/layout.html:146 cps/web.py:2015 msgid "Read Books" msgstr "" #: cps/templates/index.xml:52 cps/templates/index.xml:56 -#: cps/templates/layout.html:148 cps/web.py:1944 +#: cps/templates/layout.html:148 cps/web.py:2018 msgid "Unread Books" msgstr "" -#: cps/web.py:1996 cps/web.py:1998 cps/web.py:2000 cps/web.py:2012 +#: cps/web.py:2070 cps/web.py:2072 cps/web.py:2074 cps/web.py:2086 msgid "Read a Book" msgstr "" -#: cps/web.py:2069 cps/web.py:2936 +#: cps/web.py:2152 cps/web.py:3029 msgid "Please fill out all fields!" msgstr "" -#: cps/web.py:2070 cps/web.py:2091 cps/web.py:2095 cps/web.py:2100 -#: cps/web.py:2102 +#: cps/web.py:2153 cps/web.py:2174 cps/web.py:2178 cps/web.py:2183 +#: cps/web.py:2185 msgid "register" msgstr "" -#: cps/web.py:2090 cps/web.py:3152 +#: cps/web.py:2173 cps/web.py:3245 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/web.py:2093 +#: cps/web.py:2176 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:2096 +#: cps/web.py:2179 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:2099 +#: cps/web.py:2182 msgid "This username or e-mail address is already in use." msgstr "" -#: cps/web.py:2116 cps/web.py:2212 +#: cps/web.py:2199 cps/web.py:2295 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:2121 +#: cps/web.py:2204 msgid "Wrong Username or Password" msgstr "" -#: cps/web.py:2127 cps/web.py:2148 +#: cps/web.py:2210 cps/web.py:2231 msgid "login" msgstr "" -#: cps/web.py:2160 cps/web.py:2191 +#: cps/web.py:2243 cps/web.py:2274 msgid "Token not found" msgstr "" -#: cps/web.py:2168 cps/web.py:2199 +#: cps/web.py:2251 cps/web.py:2282 msgid "Token has expired" msgstr "" -#: cps/web.py:2176 +#: cps/web.py:2259 msgid "Success! Please return to your device" msgstr "" -#: cps/web.py:2226 +#: cps/web.py:2309 msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/web.py:2230 +#: cps/web.py:2313 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:2234 +#: cps/web.py:2317 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:2236 cps/web.py:2990 +#: cps/web.py:2319 cps/web.py:3083 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/web.py:2280 +#: cps/web.py:2363 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2291 +#: cps/web.py:2374 msgid "Invalid shelf specified" msgstr "" -#: cps/web.py:2296 +#: cps/web.py:2379 #, python-format msgid "You are not allowed to add a book to the the shelf: %s" msgstr "" -#: cps/web.py:2301 +#: cps/web.py:2384 msgid "User is not allowed to edit public shelves" msgstr "" -#: cps/web.py:2319 +#: cps/web.py:2402 #, python-format msgid "Books are already part of the shelf: %s" msgstr "" -#: cps/web.py:2333 +#: cps/web.py:2416 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/web.py:2335 +#: cps/web.py:2418 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/web.py:2372 +#: cps/web.py:2455 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "" -#: cps/web.py:2378 +#: cps/web.py:2461 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/web.py:2398 cps/web.py:2422 +#: cps/web.py:2481 cps/web.py:2505 #, python-format msgid "A shelf with the name '%(title)s' already exists." msgstr "" -#: cps/web.py:2403 +#: cps/web.py:2486 #, python-format msgid "Shelf %(title)s created" msgstr "" -#: cps/web.py:2405 cps/web.py:2433 +#: cps/web.py:2488 cps/web.py:2516 msgid "There was an error" msgstr "" -#: cps/web.py:2406 cps/web.py:2408 +#: cps/web.py:2489 cps/web.py:2491 msgid "create a shelf" msgstr "" -#: cps/web.py:2431 +#: cps/web.py:2514 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/web.py:2434 cps/web.py:2436 +#: cps/web.py:2517 cps/web.py:2519 msgid "Edit a shelf" msgstr "" -#: cps/web.py:2457 +#: cps/web.py:2540 #, python-format msgid "successfully deleted shelf %(name)s" msgstr "" -#: cps/web.py:2479 +#: cps/web.py:2562 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/web.py:2482 +#: cps/web.py:2565 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/web.py:2513 +#: cps/web.py:2596 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/web.py:2542 cps/web.py:2942 +#: cps/web.py:2625 cps/web.py:3035 msgid "E-mail is not from valid domain" msgstr "" -#: cps/web.py:2544 cps/web.py:2585 cps/web.py:2588 +#: cps/web.py:2627 cps/web.py:2668 cps/web.py:2671 #, python-format msgid "%(name)s's profile" msgstr "" -#: cps/web.py:2583 +#: cps/web.py:2666 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:2586 +#: cps/web.py:2669 msgid "Profile updated" msgstr "" -#: cps/web.py:2598 +#: cps/web.py:2681 msgid "Unknown" msgstr "" -#: cps/web.py:2612 +#: cps/web.py:2695 msgid "Admin page" msgstr "" -#: cps/web.py:2690 cps/web.py:2852 +#: cps/web.py:2773 cps/web.py:2945 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/templates/admin.html:87 cps/web.py:2703 +#: cps/templates/admin.html:91 cps/web.py:2786 msgid "UI Configuration" msgstr "" -#: cps/web.py:2720 +#: cps/web.py:2803 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/web.py:2723 +#: cps/web.py:2806 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/web.py:2728 cps/web.py:2755 +#: cps/web.py:2811 cps/web.py:2838 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/templates/admin.html:86 cps/web.py:2758 cps/web.py:2784 cps/web.py:2796 -#: cps/web.py:2839 cps/web.py:2860 cps/web.py:2867 cps/web.py:2884 +#: cps/templates/admin.html:90 cps/web.py:2841 cps/web.py:2867 cps/web.py:2879 +#: cps/web.py:2921 cps/web.py:2936 cps/web.py:2953 cps/web.py:2960 +#: cps/web.py:2977 msgid "Basic Configuration" msgstr "" -#: cps/web.py:2781 +#: cps/web.py:2864 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2793 +#: cps/web.py:2876 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2836 +#: cps/web.py:2918 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/web.py:2864 +#: cps/web.py:2957 msgid "DB location is not valid, please enter correct path" msgstr "" -#: cps/templates/admin.html:31 cps/web.py:2938 cps/web.py:2944 cps/web.py:2960 +#: cps/templates/admin.html:31 cps/web.py:3031 cps/web.py:3037 cps/web.py:3053 msgid "Add new user" msgstr "" -#: cps/web.py:2950 +#: cps/web.py:3043 #, python-format msgid "User '%(user)s' created" msgstr "" -#: cps/web.py:2954 +#: cps/web.py:3047 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/web.py:2978 cps/web.py:2992 +#: cps/web.py:3071 cps/web.py:3085 msgid "E-mail server settings updated" msgstr "" -#: cps/web.py:2985 +#: cps/web.py:3078 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/web.py:2988 +#: cps/web.py:3081 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/web.py:2993 +#: cps/web.py:3086 msgid "Edit e-mail server settings" msgstr "" -#: cps/web.py:3018 +#: cps/web.py:3111 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/web.py:3127 +#: cps/web.py:3220 #, python-format msgid "User '%(nick)s' updated" msgstr "" -#: cps/web.py:3130 +#: cps/web.py:3223 msgid "An unknown error occured." msgstr "" -#: cps/web.py:3132 +#: cps/web.py:3225 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/web.py:3149 +#: cps/web.py:3242 #, python-format msgid "Password for user %s reset" msgstr "" -#: cps/web.py:3169 +#: cps/web.py:3262 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/web.py:3184 cps/web.py:3445 cps/web.py:3450 cps/web.py:3605 +#: cps/web.py:3294 cps/web.py:3556 cps/web.py:3561 cps/web.py:3716 msgid "edit metadata" msgstr "" -#: cps/web.py:3197 cps/web.py:3475 +#: cps/web.py:3308 cps/web.py:3586 #, python-format msgid "File extension \"%s\" is not allowed to be uploaded to this server" msgstr "" -#: cps/web.py:3201 cps/web.py:3479 +#: cps/web.py:3312 cps/web.py:3590 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/web.py:3213 cps/web.py:3499 +#: cps/web.py:3324 cps/web.py:3610 #, python-format msgid "Failed to create path %s (Permission denied)." msgstr "" -#: cps/web.py:3218 +#: cps/web.py:3329 #, python-format msgid "Failed to store file %s." msgstr "" -#: cps/web.py:3234 +#: cps/web.py:3345 #, python-format msgid "File format %s added to %s" msgstr "" -#: cps/web.py:3252 +#: cps/web.py:3363 #, python-format msgid "Failed to create path for cover %s (Permission denied)." msgstr "" -#: cps/web.py:3259 +#: cps/web.py:3370 #, python-format msgid "Failed to store cover-file %s." msgstr "" -#: cps/web.py:3262 +#: cps/web.py:3373 msgid "Cover-file is not a valid image file" msgstr "" -#: cps/web.py:3275 cps/web.py:3279 +#: cps/web.py:3386 cps/web.py:3390 msgid "unknown" msgstr "" -#: cps/web.py:3301 +#: cps/web.py:3412 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/web.py:3454 +#: cps/web.py:3565 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/web.py:3504 +#: cps/web.py:3615 #, python-format msgid "Failed to store file %s (Permission denied)." msgstr "" -#: cps/web.py:3509 +#: cps/web.py:3620 #, python-format msgid "Failed to delete file %s (Permission denied)." msgstr "" -#: cps/web.py:3591 +#: cps/web.py:3702 #, python-format msgid "File %s uploaded" msgstr "" -#: cps/worker.py:212 cps/worker.py:366 +#: cps/web.py:3732 +msgid "Source or destination format for conversion missing" +msgstr "" + +#: cps/web.py:3742 +#, python-format +msgid "Book successfully queued for converting to %(book_format)s" +msgstr "" + +#: cps/web.py:3746 +#, python-format +msgid "There was an error converting this book: %(res)s" +msgstr "" + +#: cps/worker.py:215 cps/worker.py:385 msgid "Started" msgstr "" -#: cps/worker.py:221 +#: cps/worker.py:226 #, python-format msgid "E-mail: %stitle" msgstr "" -#: cps/worker.py:229 +#: cps/worker.py:237 #, python-format msgid "Convertertool %(converter)s not found" msgstr "" -#: cps/worker.py:256 +#: cps/worker.py:272 #, python-format msgid "Ebook-converter failed: %s" msgstr "" -#: cps/worker.py:266 +#: cps/worker.py:283 #, python-format msgid "Kindlegen failed with Error %(error)s. Message: %(message)s" msgstr "" -#: cps/worker.py:299 cps/worker.py:355 cps/worker.py:418 +#: cps/worker.py:316 cps/worker.py:375 cps/worker.py:437 msgid "Finished" msgstr "" -#: cps/worker.py:322 cps/worker.py:341 +#: cps/worker.py:342 cps/worker.py:361 msgid "Waiting" msgstr "" -#: cps/worker.py:330 +#: cps/worker.py:349 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/worker.py:444 +#: cps/worker.py:463 msgid "Failed" msgstr "" @@ -651,7 +694,7 @@ msgid "Nickname" msgstr "" #: cps/templates/admin.html:8 -msgid "Email" +msgid "E-mail" msgstr "" #: cps/templates/admin.html:9 @@ -715,8 +758,8 @@ msgstr "" msgid "Calibre DB dir" msgstr "" -#: cps/templates/admin.html:57 cps/templates/config_edit.html:106 -msgid "Log Level" +#: cps/templates/admin.html:57 +msgid "Log level" msgstr "" #: cps/templates/admin.html:61 @@ -732,68 +775,72 @@ msgid "Uploading" msgstr "" #: cps/templates/admin.html:75 +msgid "Anonymous browsing" +msgstr "" + +#: cps/templates/admin.html:79 msgid "Public registration" msgstr "" -#: cps/templates/admin.html:79 cps/templates/remote_login.html:4 -msgid "Remote Login" +#: cps/templates/admin.html:83 cps/templates/remote_login.html:4 +msgid "Remote login" msgstr "" -#: cps/templates/admin.html:89 +#: cps/templates/admin.html:93 msgid "Administration" msgstr "" -#: cps/templates/admin.html:90 +#: cps/templates/admin.html:94 msgid "Current commit timestamp" msgstr "" -#: cps/templates/admin.html:91 +#: cps/templates/admin.html:95 msgid "Newest commit timestamp" msgstr "" -#: cps/templates/admin.html:93 +#: cps/templates/admin.html:97 msgid "Reconnect to Calibre DB" msgstr "" -#: cps/templates/admin.html:94 +#: cps/templates/admin.html:98 msgid "Restart Calibre-Web" msgstr "" -#: cps/templates/admin.html:95 +#: cps/templates/admin.html:99 msgid "Stop Calibre-Web" msgstr "" -#: cps/templates/admin.html:96 +#: cps/templates/admin.html:100 msgid "Check for update" msgstr "" -#: cps/templates/admin.html:97 +#: cps/templates/admin.html:101 msgid "Perform Update" msgstr "" -#: cps/templates/admin.html:106 +#: cps/templates/admin.html:110 msgid "Do you really want to restart Calibre-Web?" msgstr "" -#: cps/templates/admin.html:111 cps/templates/admin.html:125 -#: cps/templates/admin.html:146 cps/templates/shelf.html:59 +#: cps/templates/admin.html:115 cps/templates/admin.html:129 +#: cps/templates/admin.html:150 cps/templates/shelf.html:59 msgid "Ok" msgstr "" -#: cps/templates/admin.html:112 cps/templates/admin.html:126 -#: 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/admin.html:116 cps/templates/admin.html:130 +#: cps/templates/book_edit.html:176 cps/templates/book_edit.html:198 +#: cps/templates/config_edit.html:212 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 #: cps/templates/shelf_order.html:12 cps/templates/user_edit.html:153 msgid "Back" msgstr "" -#: cps/templates/admin.html:124 +#: cps/templates/admin.html:128 msgid "Do you really want to stop Calibre-Web?" msgstr "" -#: cps/templates/admin.html:137 +#: cps/templates/admin.html:141 msgid "Updating, please do not reload page" msgstr "" @@ -817,135 +864,151 @@ msgstr "" msgid "Delete formats:" msgstr "" -#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:169 +#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:197 #: cps/templates/email_edit.html:73 cps/templates/email_edit.html:74 msgid "Delete" msgstr "" -#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6 +#: cps/templates/book_edit.html:30 +msgid "Convert book format:" +msgstr "" + +#: cps/templates/book_edit.html:34 +msgid "Convert from:" +msgstr "" + +#: cps/templates/book_edit.html:41 +msgid "Convert to:" +msgstr "" + +#: cps/templates/book_edit.html:50 +msgid "Convert book" +msgstr "" + +#: cps/templates/book_edit.html:59 cps/templates/search_form.html:6 msgid "Book Title" msgstr "" -#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:229 -#: cps/templates/book_edit.html:247 cps/templates/search_form.html:10 +#: cps/templates/book_edit.html:63 cps/templates/book_edit.html:257 +#: cps/templates/book_edit.html:275 cps/templates/search_form.html:10 msgid "Author" msgstr "" -#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:234 -#: cps/templates/book_edit.html:249 cps/templates/search_form.html:106 +#: cps/templates/book_edit.html:67 cps/templates/book_edit.html:262 +#: cps/templates/book_edit.html:277 cps/templates/search_form.html:106 msgid "Description" msgstr "" -#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33 +#: cps/templates/book_edit.html:71 cps/templates/search_form.html:33 msgid "Tags" msgstr "" -#: cps/templates/book_edit.html:48 cps/templates/layout.html:157 +#: cps/templates/book_edit.html:76 cps/templates/layout.html:157 #: cps/templates/search_form.html:53 msgid "Series" msgstr "" -#: cps/templates/book_edit.html:52 +#: cps/templates/book_edit.html:80 msgid "Series id" msgstr "" -#: cps/templates/book_edit.html:56 +#: cps/templates/book_edit.html:84 msgid "Rating" msgstr "" -#: cps/templates/book_edit.html:60 +#: cps/templates/book_edit.html:88 msgid "Cover URL (jpg, cover is downloaded and stored in database, field is afterwards empty again)" msgstr "" -#: cps/templates/book_edit.html:64 +#: cps/templates/book_edit.html:92 msgid "Upload Cover from local drive" msgstr "" -#: cps/templates/book_edit.html:69 cps/templates/detail.html:131 +#: cps/templates/book_edit.html:97 cps/templates/detail.html:131 msgid "Publishing date" msgstr "" -#: cps/templates/book_edit.html:76 cps/templates/user_edit.html:33 +#: cps/templates/book_edit.html:104 cps/templates/user_edit.html:33 msgid "Language" msgstr "" -#: cps/templates/book_edit.html:87 cps/templates/search_form.html:117 +#: cps/templates/book_edit.html:115 cps/templates/search_form.html:117 msgid "Yes" msgstr "" -#: cps/templates/book_edit.html:88 cps/templates/search_form.html:118 +#: cps/templates/book_edit.html:116 cps/templates/search_form.html:118 msgid "No" msgstr "" -#: cps/templates/book_edit.html:134 +#: cps/templates/book_edit.html:162 msgid "Upload format" msgstr "" -#: cps/templates/book_edit.html:143 +#: cps/templates/book_edit.html:171 msgid "view book after edit" msgstr "" -#: cps/templates/book_edit.html:146 cps/templates/book_edit.html:182 +#: cps/templates/book_edit.html:174 cps/templates/book_edit.html:210 msgid "Get metadata" msgstr "" -#: cps/templates/book_edit.html:147 cps/templates/config_edit.html:204 +#: cps/templates/book_edit.html:175 cps/templates/config_edit.html:210 #: 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:161 +#: cps/templates/book_edit.html:189 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_edit.html:164 +#: cps/templates/book_edit.html:192 msgid "Book will be deleted from Calibre database" msgstr "" -#: cps/templates/book_edit.html:165 +#: cps/templates/book_edit.html:193 msgid "and from hard disk" msgstr "" -#: cps/templates/book_edit.html:185 +#: cps/templates/book_edit.html:213 msgid "Keyword" msgstr "" -#: cps/templates/book_edit.html:186 +#: cps/templates/book_edit.html:214 msgid " Search keyword " msgstr "" -#: cps/templates/book_edit.html:188 cps/templates/layout.html:46 +#: cps/templates/book_edit.html:216 cps/templates/layout.html:46 msgid "Go!" msgstr "" -#: cps/templates/book_edit.html:192 +#: cps/templates/book_edit.html:220 msgid "Click the cover to load metadata to the form" msgstr "" -#: cps/templates/book_edit.html:204 cps/templates/book_edit.html:244 +#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:272 msgid "Loading..." msgstr "" -#: cps/templates/book_edit.html:209 cps/templates/layout.html:221 +#: cps/templates/book_edit.html:237 cps/templates/layout.html:221 msgid "Close" msgstr "" -#: cps/templates/book_edit.html:231 cps/templates/book_edit.html:248 +#: cps/templates/book_edit.html:259 cps/templates/book_edit.html:276 #: cps/templates/detail.html:126 cps/templates/search_form.html:14 msgid "Publisher" msgstr "" -#: cps/templates/book_edit.html:236 cps/templates/book_edit.html:250 +#: cps/templates/book_edit.html:264 cps/templates/book_edit.html:278 msgid "Source" msgstr "" -#: cps/templates/book_edit.html:245 +#: cps/templates/book_edit.html:273 msgid "Search error!" msgstr "" -#: cps/templates/book_edit.html:246 +#: cps/templates/book_edit.html:274 msgid "No Result(s) found! Please try aonther keyword." msgstr "" @@ -1005,6 +1068,10 @@ msgstr "" msgid "Logfile Configuration" msgstr "" +#: cps/templates/config_edit.html:106 +msgid "Log Level" +msgstr "" + #: cps/templates/config_edit.html:115 msgid "Location and name of logfile (calibre-web.log for no entry)" msgstr "" @@ -1046,7 +1113,7 @@ msgid "Goodreads API Secret" msgstr "" #: cps/templates/config_edit.html:173 -msgid "E-Book converter" +msgid "External binaries" msgstr "" #: cps/templates/config_edit.html:181 @@ -1069,7 +1136,11 @@ msgstr "" msgid "Path to convertertool" msgstr "" -#: cps/templates/config_edit.html:209 cps/templates/layout.html:82 +#: cps/templates/config_edit.html:199 +msgid "Location of Unrar binary" +msgstr "" + +#: cps/templates/config_edit.html:215 cps/templates/layout.html:82 #: cps/templates/login.html:4 msgid "Login" msgstr "" @@ -1459,7 +1530,8 @@ msgstr "" msgid "Calibre-Web ebook catalog" msgstr "" -#: cps/templates/read.html:69 +#: cps/templates/read.html:69 cps/templates/readcbr.html:79 +#: cps/templates/readcbr.html:103 msgid "Settings" msgstr "" @@ -1467,6 +1539,94 @@ msgstr "" msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:84 +msgid "Keyboard Shortcuts" +msgstr "" + +#: cps/templates/readcbr.html:87 +msgid "Previous Page" +msgstr "" + +#: cps/templates/readcbr.html:88 +msgid "Next Page" +msgstr "" + +#: cps/templates/readcbr.html:89 +msgid "Scale to Best" +msgstr "" + +#: cps/templates/readcbr.html:90 +msgid "Scale to Width" +msgstr "" + +#: cps/templates/readcbr.html:91 +msgid "Scale to Height" +msgstr "" + +#: cps/templates/readcbr.html:92 +msgid "Scale to Native" +msgstr "" + +#: cps/templates/readcbr.html:93 +msgid "Rotate Right" +msgstr "" + +#: cps/templates/readcbr.html:94 +msgid "Rotate Left" +msgstr "" + +#: cps/templates/readcbr.html:95 +msgid "Flip Image" +msgstr "" + +#: cps/templates/readcbr.html:108 cps/templates/user_edit.html:41 +msgid "Theme" +msgstr "" + +#: cps/templates/readcbr.html:111 +msgid "Light" +msgstr "" + +#: cps/templates/readcbr.html:112 +msgid "Dark" +msgstr "" + +#: cps/templates/readcbr.html:117 +msgid "Scale" +msgstr "" + +#: cps/templates/readcbr.html:120 +msgid "Best" +msgstr "" + +#: cps/templates/readcbr.html:121 +msgid "Width" +msgstr "" + +#: cps/templates/readcbr.html:122 +msgid "Height" +msgstr "" + +#: cps/templates/readcbr.html:123 +msgid "Native" +msgstr "" + +#: cps/templates/readcbr.html:128 +msgid "Rotate" +msgstr "" + +#: cps/templates/readcbr.html:139 +msgid "Flip" +msgstr "" + +#: cps/templates/readcbr.html:142 +msgid "Horizontal" +msgstr "" + +#: cps/templates/readcbr.html:143 +msgid "Vertical" +msgstr "" + #: cps/templates/readpdf.html:29 msgid "PDF.js viewer" msgstr "" @@ -1488,7 +1648,7 @@ msgid "Choose a password" msgstr "" #: cps/templates/register.html:15 cps/templates/user_edit.html:13 -msgid "Email address" +msgid "E-mail address" msgstr "" #: cps/templates/register.html:16 @@ -1651,10 +1811,6 @@ msgstr "" msgid "Kindle E-Mail" msgstr "" -#: cps/templates/user_edit.html:41 -msgid "Theme" -msgstr "" - #: cps/templates/user_edit.html:43 msgid "Standard Theme" msgstr ""
{{_('Nickname')}}{{_('Email')}}{{_('E-mail')}} {{_('Kindle')}} {{_('DLS')}}