\n"
"Language: pl\n"
@@ -24,505 +24,570 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.5.1\n"
-#: cps/book_formats.py:123 cps/book_formats.py:127 cps/web.py:1422
+#: cps/book_formats.py:128 cps/book_formats.py:132 cps/book_formats.py:136
+#: cps/converter.py:11 cps/converter.py:27
msgid "not installed"
msgstr "nie zainstalowane"
-#: cps/helper.py:68
-#, python-format
-msgid "kindlegen binary %(kindlepath)s not found"
+#: cps/converter.py:22 cps/converter.py:38
+msgid "Excecution permissions missing"
msgstr ""
-#: cps/helper.py:74
+#: cps/helper.py:54
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:84
-msgid "kindlegen failed, no execution permissions"
+#: cps/helper.py:70
+#, python-format
+msgid "Convert: %s"
msgstr ""
-#: cps/helper.py:99
-#, python-format
-msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
-msgstr ""
-
-#: cps/helper.py:178
-#, python-format
-msgid "Failed to send mail: %s"
-msgstr "Nie można wysłać poczty: %s"
-
-#: cps/helper.py:185
+#: cps/helper.py:79
msgid "Calibre-web test email"
msgstr "Calibre-web testowy email"
-#: cps/helper.py:186 cps/helper.py:198
-msgid "This email has been sent via calibre web."
-msgstr "Ten e-mail został wysłany przez Calibre Web."
+#: cps/helper.py:80
+msgid "Test E-Mail"
+msgstr ""
-#: cps/helper.py:195 cps/templates/detail.html:44
-msgid "Send to Kindle"
-msgstr "Wyślij do Kindle"
-
-#: cps/helper.py:215 cps/helper.py:229
+#: cps/helper.py:102 cps/helper.py:112
msgid "Could not find any formats suitable for sending by email"
msgstr ""
"Nie można znaleźć żadnych formatów przystosowane do wysyłania pocztą "
"e-mail"
-#: cps/helper.py:342
+#: cps/helper.py:114 cps/templates/detail.html:44 cps/worker.py:219
+msgid "Send to Kindle"
+msgstr "Wyślij do Kindle"
+
+#: cps/helper.py:115
+#, python-format
+msgid "E-Mail: %s"
+msgstr ""
+
+#: cps/helper.py:117
+msgid "The requested file could not be read. Maybe wrong permissions?"
+msgstr ""
+
+#: cps/helper.py:212
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:351
+#: cps/helper.py:221
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:374 cps/helper.py:383
+#: cps/helper.py:244 cps/helper.py:253
#, python-format
msgid "File %s not found on Google Drive"
msgstr ""
-#: cps/helper.py:394
+#: cps/helper.py:271
#, python-format
msgid "Book path %s not found on Google Drive"
msgstr ""
-#: cps/web.py:954
+#: cps/web.py:1026
msgid "Requesting update package"
msgstr "Żądanie o pakiet aktualizacji"
-#: cps/web.py:955
+#: cps/web.py:1027
msgid "Downloading update package"
msgstr "Pobieranie pakietu aktualizacji"
-#: cps/web.py:956
+#: cps/web.py:1028
msgid "Unzipping update package"
msgstr "Rozpakowywanie pakietu aktualizacji"
-#: cps/web.py:957
+#: cps/web.py:1029
msgid "Files are replaced"
msgstr "Pliki zostały zastąpione"
-#: cps/web.py:958
+#: cps/web.py:1030
msgid "Database connections are closed"
msgstr "Połączenia z bazą danych zostały zakończone"
-#: cps/web.py:959
+#: cps/web.py:1031
msgid "Server is stopped"
msgstr "Serwer jest zatrzymany"
-#: cps/web.py:960
+#: cps/web.py:1032
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
-#: cps/web.py:1034
+#: cps/web.py:1052
msgid "Recently Added Books"
msgstr ""
-#: cps/web.py:1044
+#: cps/web.py:1062
msgid "Newest Books"
msgstr ""
-#: cps/web.py:1056
+#: cps/web.py:1074
msgid "Oldest Books"
msgstr ""
-#: cps/web.py:1068
+#: cps/web.py:1086
msgid "Books (A-Z)"
msgstr ""
-#: cps/web.py:1079
+#: cps/web.py:1097
msgid "Books (Z-A)"
msgstr ""
-#: cps/web.py:1108
+#: cps/web.py:1126
msgid "Hot Books (most downloaded)"
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
-#: cps/web.py:1121
+#: cps/web.py:1139
msgid "Best rated books"
msgstr "Najlepiej oceniane książki"
-#: cps/templates/index.xml:32 cps/web.py:1132
+#: cps/templates/index.xml:32 cps/web.py:1151
msgid "Random Books"
msgstr "Losowe książki"
-#: cps/web.py:1146
+#: cps/web.py:1166
msgid "Author list"
msgstr "Lista autorów"
-#: cps/web.py:1158 cps/web.py:1220 cps/web.py:1379 cps/web.py:1909
+#: cps/web.py:1178 cps/web.py:1241 cps/web.py:1401 cps/web.py:1961
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:64 cps/web.py:1204
+#: cps/templates/index.xml:64 cps/web.py:1225
msgid "Series list"
msgstr "Lista serii"
-#: cps/web.py:1218
+#: cps/web.py:1239
#, python-format
msgid "Series: %(serie)s"
msgstr "Seria: %(serie)s"
-#: cps/web.py:1251
+#: cps/web.py:1272
msgid "Available languages"
msgstr "Dostępne języki"
-#: cps/web.py:1268
+#: cps/web.py:1289
#, python-format
msgid "Language: %(name)s"
msgstr "Język: %(name)s"
-#: cps/templates/index.xml:58 cps/web.py:1278
+#: cps/templates/index.xml:58 cps/web.py:1300
msgid "Category list"
msgstr "Lista kategorii"
-#: cps/web.py:1292
+#: cps/web.py:1314
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:1433
-msgid "Excecution permissions missing"
+#: cps/templates/layout.html:71 cps/web.py:1451
+msgid "Tasks"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
msgid "Statistics"
msgstr "Statystyki"
-#: cps/web.py:1544
+#: cps/web.py:1588
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
-#: cps/web.py:1620
+#: cps/web.py:1664
msgid "Server restarted, please reload page"
msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę"
-#: cps/web.py:1623
+#: cps/web.py:1667
msgid "Performing shutdown of server, please close window"
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
-#: cps/web.py:1641
+#: cps/web.py:1685
msgid "Update done"
msgstr "Aktualizacja zakończona"
-#: cps/web.py:1698
+#: cps/web.py:1741 cps/web.py:1782
+#, python-format
+msgid "%s: %s"
+msgstr ""
+
+#: cps/web.py:1753
#, python-format
msgid "Published after %s"
msgstr ""
-#: cps/web.py:1703
+#: cps/web.py:1758
msgid "Published before "
msgstr ""
-#: cps/web.py:1749 cps/web.py:1762
+#: cps/web.py:1776
+#, python-format
+msgid "Rating <= %s"
+msgstr ""
+
+#: cps/web.py:1778
+#, python-format
+msgid "Rating >= %s"
+msgstr ""
+
+#: cps/web.py:1833 cps/web.py:1849
msgid "search"
msgstr "szukaj"
#: cps/templates/index.xml:39 cps/templates/index.xml:42
-#: cps/templates/layout.html:143 cps/web.py:1864
+#: cps/templates/layout.html:146 cps/web.py:1916
msgid "Read Books"
msgstr "Przeczytane książki"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
-#: cps/templates/layout.html:145 cps/web.py:1867
+#: cps/templates/layout.html:148 cps/web.py:1919
msgid "Unread Books"
msgstr "Nieprzeczytane książki"
-#: cps/web.py:1919 cps/web.py:1921 cps/web.py:1923 cps/web.py:1935
+#: cps/web.py:1971 cps/web.py:1973 cps/web.py:1975 cps/web.py:1987
msgid "Read a Book"
msgstr "Czytaj książkę"
-#: cps/web.py:1991 cps/web.py:2744
+#: cps/web.py:2044 cps/web.py:2817
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
-#: cps/web.py:1992 cps/web.py:2009 cps/web.py:2014 cps/web.py:2016
+#: cps/web.py:2045 cps/web.py:2062 cps/web.py:2067 cps/web.py:2069
msgid "register"
msgstr "rejestracja"
-#: cps/web.py:2008
+#: cps/web.py:2061
msgid "An unknown error occured. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
-#: cps/web.py:2013
+#: cps/web.py:2066
msgid "This username or email address is already in use."
msgstr "Nazwa użytkownika lub adres e-mail jest już w użyciu."
-#: cps/web.py:2030 cps/web.py:2126
+#: cps/web.py:2083 cps/web.py:2179
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Zalogowałeś się jako: '%(nickname)s'"
-#: cps/web.py:2035
+#: cps/web.py:2088
msgid "Wrong Username or Password"
msgstr "Błędna nazwa użytkownika lub hasło"
-#: cps/web.py:2041 cps/web.py:2062
+#: cps/web.py:2094 cps/web.py:2115
msgid "login"
msgstr "logowanie"
-#: cps/web.py:2074 cps/web.py:2105
+#: cps/web.py:2127 cps/web.py:2158
msgid "Token not found"
msgstr ""
-#: cps/web.py:2082 cps/web.py:2113
+#: cps/web.py:2135 cps/web.py:2166
msgid "Token has expired"
msgstr ""
-#: cps/web.py:2090
+#: cps/web.py:2143
msgid "Success! Please return to your device"
msgstr ""
-#: cps/web.py:2140
+#: cps/web.py:2193
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
-#: cps/web.py:2144
+#: cps/web.py:2197
#, python-format
-msgid "Book successfully send to %(kindlemail)s"
-msgstr "Książka została pomyślnie wysłana do %(kindlemail)s"
+msgid "Book successfully queued for sending to %(kindlemail)s"
+msgstr ""
-#: cps/web.py:2148
+#: cps/web.py:2201
#, 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:2150 cps/web.py:2832
+#: cps/web.py:2203 cps/web.py:2905
msgid "Please configure your kindle email address first..."
msgstr "Proszę najpierw skonfigurować adres e-mail swojego kindla..."
-#: cps/web.py:2194
+#: cps/web.py:2247
#, 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:2232
+#: cps/web.py:2285
#, 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:2238
+#: cps/web.py:2291
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2258 cps/web.py:2282
+#: cps/web.py:2311 cps/web.py:2335
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Półka o nazwie '%(title)s' już istnieje."
-#: cps/web.py:2263
+#: cps/web.py:2316
#, python-format
msgid "Shelf %(title)s created"
msgstr "Półka %(title)s została utworzona"
-#: cps/web.py:2265 cps/web.py:2293
+#: cps/web.py:2318 cps/web.py:2346
msgid "There was an error"
msgstr "Wystąpił błąd"
-#: cps/web.py:2266 cps/web.py:2268
+#: cps/web.py:2319 cps/web.py:2321
msgid "create a shelf"
msgstr "utwórz półkę"
-#: cps/web.py:2291
+#: cps/web.py:2344
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Półka %(title)s została zmieniona"
-#: cps/web.py:2294 cps/web.py:2296
+#: cps/web.py:2347 cps/web.py:2349
msgid "Edit a shelf"
msgstr "Edytuj półkę"
-#: cps/web.py:2317
+#: cps/web.py:2370
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "pomyślnie usunięto półkę %(name)s"
-#: cps/web.py:2339
+#: cps/web.py:2392
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Półka: '%(name)s'"
-#: cps/web.py:2342
+#: cps/web.py:2395
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
-#: cps/web.py:2373
+#: cps/web.py:2426
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Zmieniono kolejność półki: '%(name)s'"
-#: cps/web.py:2444
+#: cps/web.py:2498
msgid "Found an existing account for this email address."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail."
-#: cps/web.py:2446 cps/web.py:2450
+#: cps/web.py:2500 cps/web.py:2503
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
-#: cps/web.py:2447
+#: cps/web.py:2501
msgid "Profile updated"
msgstr "Zaktualizowano profil"
-#: cps/web.py:2459
+#: cps/web.py:2513
msgid "Unknown"
msgstr ""
-#: cps/web.py:2472
+#: cps/web.py:2526
msgid "Admin page"
msgstr "Portal administracyjny"
-#: cps/web.py:2560 cps/web.py:2692
+#: cps/web.py:2604 cps/web.py:2766
msgid "Calibre-web configuration updated"
msgstr "Konfiguracja Calibre-web została zaktualizowana"
-#: cps/templates/admin.html:80 cps/web.py:2565
+#: cps/templates/admin.html:83 cps/web.py:2617
msgid "UI Configuration"
msgstr ""
-#: cps/web.py:2581
+#: cps/web.py:2633
msgid "Import of optional Google Drive requirements missing"
msgstr ""
-#: cps/web.py:2584
+#: cps/web.py:2636
msgid "client_secrets.json is missing or not readable"
msgstr ""
-#: cps/web.py:2589 cps/web.py:2617
+#: cps/web.py:2641 cps/web.py:2669
msgid "client_secrets.json is not configured for web application"
msgstr ""
-#: cps/templates/admin.html:79 cps/web.py:2620 cps/web.py:2645 cps/web.py:2656
-#: cps/web.py:2680 cps/web.py:2700 cps/web.py:2707 cps/web.py:2725
+#: cps/templates/admin.html:82 cps/web.py:2672 cps/web.py:2698 cps/web.py:2710
+#: cps/web.py:2753 cps/web.py:2774 cps/web.py:2781 cps/web.py:2798
msgid "Basic Configuration"
msgstr "Podstawowa konfiguracja"
-#: cps/web.py:2642
+#: cps/web.py:2695
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2653
+#: cps/web.py:2707
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2677
+#: cps/web.py:2750
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2704
+#: cps/web.py:2778
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:34 cps/web.py:2746 cps/web.py:2802
+#: cps/templates/admin.html:34 cps/web.py:2819 cps/web.py:2875
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
-#: cps/web.py:2792
+#: cps/web.py:2865
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
-#: cps/web.py:2796
+#: cps/web.py:2869
msgid "Found an existing account for this email address or nickname."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy użytkownika."
-#: cps/web.py:2820
+#: cps/web.py:2893
msgid "Mail settings updated"
msgstr "Zaktualizowano ustawienia poczty e-mail"
-#: cps/web.py:2827
+#: cps/web.py:2900
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Testowy e-mail został pomyślnie wysłany do %(kindlemail)s"
-#: cps/web.py:2830
+#: cps/web.py:2903
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Wystąpił błąd podczas wysyłania testowej wiadomości e-mail: %(res)s"
-#: cps/web.py:2834
+#: cps/web.py:2907
msgid "E-Mail settings updated"
msgstr "Zaktualizowano ustawienia e-mail"
-#: cps/web.py:2835
+#: cps/web.py:2908
msgid "Edit mail settings"
msgstr "Edytuj ustawienia poczty e-mail"
-#: cps/web.py:2865
+#: cps/web.py:2938
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
-#: cps/web.py:2974
+#: cps/web.py:3047
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
-#: cps/web.py:2977
+#: cps/web.py:3050
msgid "An unknown error occured."
msgstr "Wystąpił nieznany błąd."
-#: cps/web.py:2980
+#: cps/web.py:3052
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
-#: cps/web.py:2996
+#: cps/web.py:3069
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
-#: cps/web.py:3011 cps/web.py:3222 cps/web.py:3227 cps/web.py:3395
+#: cps/web.py:3084 cps/web.py:3316 cps/web.py:3321 cps/web.py:3478
msgid "edit metadata"
msgstr "edytuj metadane"
-#: cps/web.py:3021 cps/web.py:3272
+#: cps/web.py:3095 cps/web.py:3346
#, 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:3032
-#, python-format
-msgid "Failed to store file %s."
-msgstr ""
-
-#: cps/web.py:3056 cps/web.py:3060
-msgid "unknown"
-msgstr ""
-
-#: cps/web.py:3081
-msgid "Cover is not a jpg file, can't save"
-msgstr ""
-
-#: cps/web.py:3231
-msgid "Error editing book, please check logfile for details"
-msgstr ""
-
-#: cps/web.py:3278
+#: cps/web.py:3098 cps/web.py:3352
msgid "File to be uploaded must have an extension"
msgstr "Plik do przesłania musi mieć rozszerzenie"
-#: cps/web.py:3297
+#: cps/web.py:3110 cps/web.py:3372
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Nie udało się utworzyć łącza %s (Odmowa dostępu)."
-#: cps/web.py:3302
+#: cps/web.py:3115
+#, python-format
+msgid "Failed to store file %s."
+msgstr ""
+
+#: cps/web.py:3131
+#, python-format
+msgid "File format %s added to %s"
+msgstr ""
+
+#: cps/web.py:3147 cps/web.py:3151
+msgid "unknown"
+msgstr ""
+
+#: cps/web.py:3173
+msgid "Cover is not a jpg file, can't save"
+msgstr ""
+
+#: cps/web.py:3325
+msgid "Error editing book, please check logfile for details"
+msgstr ""
+
+#: cps/web.py:3377
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Nie można przechowywać pliku %s (Odmowa dostępu)."
-#: cps/web.py:3307
+#: cps/web.py:3382
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Nie udało się usunąć pliku %s (Odmowa dostępu)."
+#: cps/web.py:3464
+#, python-format
+msgid "File %s uploaded"
+msgstr ""
+
+#: cps/worker.py:212 cps/worker.py:357
+msgid "Started"
+msgstr ""
+
+#: cps/worker.py:221
+#, python-format
+msgid "E-Mail: %stitle"
+msgstr ""
+
+#: cps/worker.py:229
+#, python-format
+msgid "Convertertool %(converter)s not found"
+msgstr ""
+
+#: cps/worker.py:248
+#, python-format
+msgid "Ebook-converter failed: %s"
+msgstr ""
+
+#: cps/worker.py:258
+#, python-format
+msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgstr ""
+
+#: cps/worker.py:291 cps/worker.py:346 cps/worker.py:409
+msgid "Finished"
+msgstr ""
+
+#: cps/worker.py:314 cps/worker.py:332
+msgid "Waiting"
+msgstr ""
+
+#: cps/worker.py:364
+msgid "This email has been sent via calibre web."
+msgstr "Ten e-mail został wysłany przez Calibre Web."
+
+#: cps/worker.py:435
+msgid "Failed"
+msgstr ""
+
#: cps/templates/admin.html:4
msgid "User list"
msgstr "Lista użytkowników"
@@ -543,7 +608,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
-#: cps/templates/admin.html:12 cps/templates/layout.html:71
+#: cps/templates/admin.html:12 cps/templates/layout.html:74
msgid "Admin"
msgstr "Portal administracyjny"
@@ -597,96 +662,100 @@ msgid "Change SMTP settings"
msgstr "Zmień ustawienia SMTP"
#: cps/templates/admin.html:57
+msgid "Edit allowed domains"
+msgstr ""
+
+#: cps/templates/admin.html:60
msgid "Configuration"
msgstr "Konfiguracja"
-#: cps/templates/admin.html:60
+#: cps/templates/admin.html:63
msgid "Calibre DB dir"
msgstr "Folder bazy danych Calibre"
-#: cps/templates/admin.html:61 cps/templates/config_edit.html:100
+#: cps/templates/admin.html:64 cps/templates/config_edit.html:106
msgid "Log Level"
msgstr "Poziom logów"
-#: cps/templates/admin.html:62
+#: cps/templates/admin.html:65
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:63 cps/templates/config_view_edit.html:23
+#: cps/templates/admin.html:66 cps/templates/config_view_edit.html:23
msgid "Books per page"
msgstr "Ilość książek na stronie"
-#: cps/templates/admin.html:64
+#: cps/templates/admin.html:67
msgid "Uploading"
msgstr "Wysyłanie"
-#: cps/templates/admin.html:65
+#: cps/templates/admin.html:68
msgid "Public registration"
msgstr "Publiczna rejestracja"
-#: cps/templates/admin.html:66
+#: cps/templates/admin.html:69
msgid "Anonymous browsing"
msgstr "Anonimowe przeglądanie"
-#: cps/templates/admin.html:67 cps/templates/remote_login.html:4
+#: cps/templates/admin.html:70 cps/templates/remote_login.html:4
msgid "Remote Login"
msgstr ""
-#: cps/templates/admin.html:81
+#: cps/templates/admin.html:84
msgid "Administration"
msgstr "Zarządzanie"
-#: cps/templates/admin.html:83
+#: cps/templates/admin.html:85
msgid "Current commit timestamp"
msgstr "Znacznik czasowy zainstalowanej wersji"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:86
msgid "Newest commit timestamp"
msgstr "Znacznik czasowy nowej wersji"
-#: cps/templates/admin.html:86
+#: cps/templates/admin.html:88
msgid "Reconnect to Calibre DB"
msgstr "Połącz ponownie z bazą danych Calibre"
-#: cps/templates/admin.html:87
+#: cps/templates/admin.html:89
msgid "Restart Calibre-web"
msgstr "Uruchom ponownie Calibre Web"
-#: cps/templates/admin.html:88
+#: cps/templates/admin.html:90
msgid "Stop Calibre-web"
msgstr "Zatrzymaj Calibre Web"
-#: cps/templates/admin.html:89
+#: cps/templates/admin.html:91
msgid "Check for update"
msgstr "Sprawdź aktualizacje"
-#: cps/templates/admin.html:90
+#: cps/templates/admin.html:92
msgid "Perform Update"
msgstr "Wykonaj aktualizację"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:101
msgid "Do you really want to restart Calibre-web?"
msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?"
-#: cps/templates/admin.html:105 cps/templates/admin.html:119
-#: cps/templates/admin.html:140 cps/templates/shelf.html:59
+#: cps/templates/admin.html:106 cps/templates/admin.html:120
+#: cps/templates/admin.html:141 cps/templates/shelf.html:59
msgid "Ok"
msgstr "OK"
-#: cps/templates/admin.html:106 cps/templates/admin.html:120
-#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
-#: cps/templates/config_edit.html:168 cps/templates/config_view_edit.html:164
+#: cps/templates/admin.html:107 cps/templates/admin.html:121
+#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166
+#: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164
#: cps/templates/email_edit.html:36 cps/templates/shelf.html:60
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
#: cps/templates/user_edit.html:147
msgid "Back"
msgstr "Wróć"
-#: cps/templates/admin.html:118
+#: cps/templates/admin.html:119
msgid "Do you really want to stop Calibre-web?"
msgstr "Na pewno chcesz zatrzymać Calibre Web?"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:132
msgid "Updating, please do not reload page"
msgstr "Aktualizowanie, proszę nie odświeżać strony"
@@ -706,132 +775,136 @@ msgstr ""
msgid "Delete Book"
msgstr ""
-#: cps/templates/book_edit.html:22 cps/templates/search_form.html:6
+#: cps/templates/book_edit.html:19
+msgid "Delete formats:"
+msgstr ""
+
+#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165
+msgid "Delete"
+msgstr ""
+
+#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6
msgid "Book Title"
msgstr "Tytuł książki"
-#: cps/templates/book_edit.html:26 cps/templates/book_edit.html:216
-#: cps/templates/book_edit.html:234 cps/templates/search_form.html:10
+#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225
+#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10
msgid "Author"
msgstr "Autor"
-#: cps/templates/book_edit.html:30 cps/templates/book_edit.html:221
-#: cps/templates/book_edit.html:236
+#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230
+#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106
msgid "Description"
msgstr "Opis"
-#: cps/templates/book_edit.html:34 cps/templates/search_form.html:34
+#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33
msgid "Tags"
msgstr "Tagi"
-#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
-#: cps/templates/search_form.html:54
+#: cps/templates/book_edit.html:48 cps/templates/layout.html:157
+#: cps/templates/search_form.html:53
msgid "Series"
msgstr "Seria"
-#: cps/templates/book_edit.html:43
+#: cps/templates/book_edit.html:52
msgid "Series id"
msgstr "ID serii"
-#: cps/templates/book_edit.html:47
+#: cps/templates/book_edit.html:56
msgid "Rating"
msgstr "Ocena"
-#: cps/templates/book_edit.html:51
+#: cps/templates/book_edit.html:60
msgid ""
"Cover URL (jpg, cover is downloaded and stored in database, field is "
"afterwards empty again)"
msgstr ""
-#: cps/templates/book_edit.html:56 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:65 cps/templates/detail.html:131
msgid "Publishing date"
msgstr "Data publikacji"
-#: cps/templates/book_edit.html:63 cps/templates/user_edit.html:27
+#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:27
msgid "Language"
msgstr "Język"
-#: cps/templates/book_edit.html:74
+#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117
msgid "Yes"
msgstr "Tak"
-#: cps/templates/book_edit.html:75
+#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118
msgid "No"
msgstr "Nie"
-#: cps/templates/book_edit.html:121
+#: cps/templates/book_edit.html:130
msgid "Upload format"
msgstr ""
-#: cps/templates/book_edit.html:130
+#: cps/templates/book_edit.html:139
msgid "view book after edit"
msgstr "wyświetl książkę po edycji"
-#: cps/templates/book_edit.html:133 cps/templates/book_edit.html:169
+#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178
msgid "Get metadata"
msgstr "Uzyskaj metadane"
-#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:166
+#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:163 cps/templates/login.html:20
-#: cps/templates/search_form.html:96 cps/templates/shelf_edit.html:17
+#: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17
#: cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Wyślij"
-#: cps/templates/book_edit.html:148
+#: cps/templates/book_edit.html:157
msgid "Are really you sure?"
msgstr ""
-#: cps/templates/book_edit.html:151
+#: cps/templates/book_edit.html:160
msgid "Book will be deleted from Calibre database"
msgstr ""
-#: cps/templates/book_edit.html:152
+#: cps/templates/book_edit.html:161
msgid "and from hard disk"
msgstr ""
-#: cps/templates/book_edit.html:156
-msgid "Delete"
-msgstr ""
-
-#: cps/templates/book_edit.html:172
+#: cps/templates/book_edit.html:181
msgid "Keyword"
msgstr "Słowo kluczowe"
-#: cps/templates/book_edit.html:173
+#: cps/templates/book_edit.html:182
msgid " Search keyword "
msgstr " Szukaj słowa kluczowego "
-#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
+#: cps/templates/book_edit.html:184 cps/templates/layout.html:46
msgid "Go!"
msgstr "Idź!"
-#: cps/templates/book_edit.html:179
+#: cps/templates/book_edit.html:188
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:191 cps/templates/book_edit.html:231
+#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240
msgid "Loading..."
msgstr "Ładowanie..."
-#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
+#: cps/templates/book_edit.html:205 cps/templates/layout.html:221
msgid "Close"
msgstr "Zamknij"
-#: cps/templates/book_edit.html:218 cps/templates/book_edit.html:235
+#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244
#: cps/templates/detail.html:126 cps/templates/search_form.html:14
msgid "Publisher"
msgstr "Wydawca"
-#: cps/templates/book_edit.html:223 cps/templates/book_edit.html:237
+#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246
msgid "Source"
msgstr "Źródło"
-#: cps/templates/book_edit.html:232
+#: cps/templates/book_edit.html:241
msgid "Search error!"
msgstr "Błąd wyszukiwania!"
-#: cps/templates/book_edit.html:233
+#: cps/templates/book_edit.html:242
msgid "No Result! Please try anonther keyword."
msgstr "Brak wyników! Spróbuj innego słowa kluczowego."
@@ -856,79 +929,107 @@ msgid "Authenticate Google Drive"
msgstr ""
#: cps/templates/config_edit.html:40
+msgid "Please finish Google Drive setup after login"
+msgstr ""
+
+#: cps/templates/config_edit.html:44
msgid "Google Drive Calibre folder"
msgstr ""
-#: cps/templates/config_edit.html:48
+#: cps/templates/config_edit.html:52
#, fuzzy
msgid "Metadata Watch Channel ID"
msgstr "Metadane Watch Channel ID"
-#: cps/templates/config_edit.html:51
+#: cps/templates/config_edit.html:55
msgid "Revoke"
msgstr ""
-#: cps/templates/config_edit.html:67
+#: cps/templates/config_edit.html:73
msgid "Server Configuration"
msgstr ""
-#: cps/templates/config_edit.html:74
+#: cps/templates/config_edit.html:80
msgid "Server Port"
msgstr "Port serwera"
-#: cps/templates/config_edit.html:78
+#: cps/templates/config_edit.html:84
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:82
+#: cps/templates/config_edit.html:88
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:93
+#: cps/templates/config_edit.html:99
msgid "Logfile Configuration"
msgstr ""
-#: cps/templates/config_edit.html:109
+#: cps/templates/config_edit.html:115
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:120
+#: cps/templates/config_edit.html:126
msgid "Feature Configuration"
msgstr ""
-#: cps/templates/config_edit.html:128
+#: cps/templates/config_edit.html:134
msgid "Enable uploading"
msgstr "Włącz wysyłanie"
-#: cps/templates/config_edit.html:132
+#: cps/templates/config_edit.html:138
msgid "Enable anonymous browsing"
msgstr "Włącz anonimowe przeglądanie"
-#: cps/templates/config_edit.html:136
+#: cps/templates/config_edit.html:142
msgid "Enable public registration"
msgstr "Włącz publiczną rejestrację"
-#: cps/templates/config_edit.html:140
+#: cps/templates/config_edit.html:146
msgid "Enable remote login (\"magic link\")"
msgstr ""
-#: cps/templates/config_edit.html:145
+#: cps/templates/config_edit.html:151
msgid "Use"
msgstr ""
-#: cps/templates/config_edit.html:146
+#: cps/templates/config_edit.html:152
msgid "Obtain an API Key"
msgstr ""
-#: cps/templates/config_edit.html:150
+#: cps/templates/config_edit.html:156
msgid "Goodreads API Key"
msgstr ""
-#: cps/templates/config_edit.html:154
+#: cps/templates/config_edit.html:160
msgid "Goodreads API Secret"
msgstr ""
-#: cps/templates/config_edit.html:171 cps/templates/layout.html:79
+#: cps/templates/config_edit.html:173
+msgid "E-Book converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:181
+msgid "No converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:183
+msgid "Use Kindlegen"
+msgstr ""
+
+#: cps/templates/config_edit.html:185
+msgid "Use calibre's ebook converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:189
+msgid "E-Book converter settings"
+msgstr ""
+
+#: cps/templates/config_edit.html:193
+msgid "Path to convertertool"
+msgstr ""
+
+#: cps/templates/config_edit.html:209 cps/templates/layout.html:82
#: cps/templates/login.html:4
msgid "Login"
msgstr "Zaloguj się"
@@ -937,8 +1038,8 @@ msgstr "Zaloguj się"
msgid "View Configuration"
msgstr ""
-#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:130
-#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
+#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:133
+#: cps/templates/layout.html:134 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Tytuł"
@@ -1112,7 +1213,7 @@ msgstr "Zapisz ustawienia"
msgid "Save settings and send Test E-Mail"
msgstr "Zapisz ustawienia i wyślij testową wiadomość e-mail"
-#: cps/templates/feed.xml:20 cps/templates/layout.html:202
+#: cps/templates/feed.xml:20 cps/templates/layout.html:205
msgid "Next"
msgstr "Następne"
@@ -1129,7 +1230,7 @@ msgstr "Odkrywaj (losowe książki)"
msgid "Start"
msgstr "Rozpocznij"
-#: cps/templates/index.xml:14 cps/templates/layout.html:136
+#: cps/templates/index.xml:14 cps/templates/layout.html:139
msgid "Hot Books"
msgstr "Najpopularniejsze książki"
@@ -1137,7 +1238,7 @@ msgstr "Najpopularniejsze książki"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Popularne publikacje z tego katalogu bazujące na pobranych."
-#: cps/templates/index.xml:20 cps/templates/layout.html:139
+#: cps/templates/index.xml:20 cps/templates/layout.html:142
msgid "Best rated Books"
msgstr "Najlepiej ocenione książki"
@@ -1157,7 +1258,7 @@ msgstr "Ostatnie książki"
msgid "Show Random Books"
msgstr "Pokazuj losowe książki"
-#: cps/templates/index.xml:52 cps/templates/layout.html:157
+#: cps/templates/index.xml:52 cps/templates/layout.html:160
msgid "Authors"
msgstr "Autorzy"
@@ -1173,7 +1274,7 @@ msgstr "Książki sortowane według kategorii"
msgid "Books ordered by series"
msgstr "Książki sortowane według serii"
-#: cps/templates/index.xml:70 cps/templates/layout.html:163
+#: cps/templates/index.xml:70 cps/templates/layout.html:166
msgid "Public Shelves"
msgstr "Publiczne półki"
@@ -1181,7 +1282,7 @@ msgstr "Publiczne półki"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
-#: cps/templates/index.xml:77 cps/templates/layout.html:167
+#: cps/templates/index.xml:77 cps/templates/layout.html:170
msgid "Your Shelves"
msgstr "Twoje półki"
@@ -1197,80 +1298,80 @@ msgstr "Przełącz nawigację"
msgid "Advanced Search"
msgstr "Zaawansowane wyszukiwanie"
-#: cps/templates/layout.html:75
+#: cps/templates/layout.html:78
msgid "Logout"
msgstr "Wyloguj się"
-#: cps/templates/layout.html:80 cps/templates/register.html:18
+#: cps/templates/layout.html:83 cps/templates/register.html:18
msgid "Register"
msgstr "Zarejestruj się"
-#: cps/templates/layout.html:105
+#: cps/templates/layout.html:108
msgid "Uploading..."
msgstr ""
-#: cps/templates/layout.html:106
+#: cps/templates/layout.html:109
msgid "please don't refresh the page"
msgstr ""
-#: cps/templates/layout.html:117
+#: cps/templates/layout.html:120
msgid "Browse"
msgstr "Przeglądaj"
-#: cps/templates/layout.html:119
+#: cps/templates/layout.html:122
msgid "Recently Added"
msgstr ""
-#: cps/templates/layout.html:124
+#: cps/templates/layout.html:127
msgid "Sorted Books"
msgstr ""
-#: cps/templates/layout.html:128 cps/templates/layout.html:129
-#: cps/templates/layout.html:130 cps/templates/layout.html:131
+#: cps/templates/layout.html:131 cps/templates/layout.html:132
+#: cps/templates/layout.html:133 cps/templates/layout.html:134
msgid "Sort By"
msgstr ""
-#: cps/templates/layout.html:128
+#: cps/templates/layout.html:131
msgid "Newest"
msgstr ""
-#: cps/templates/layout.html:129
+#: cps/templates/layout.html:132
msgid "Oldest"
msgstr ""
-#: cps/templates/layout.html:130
+#: cps/templates/layout.html:133
msgid "Ascending"
msgstr ""
-#: cps/templates/layout.html:131
+#: cps/templates/layout.html:134
msgid "Descending"
msgstr ""
-#: cps/templates/layout.html:148
+#: cps/templates/layout.html:151
msgid "Discover"
msgstr "Odkrywaj"
-#: cps/templates/layout.html:151
+#: cps/templates/layout.html:154
msgid "Categories"
msgstr "Kategorie"
-#: cps/templates/layout.html:160 cps/templates/search_form.html:75
+#: cps/templates/layout.html:163 cps/templates/search_form.html:74
msgid "Languages"
msgstr "Języki"
-#: cps/templates/layout.html:172
+#: cps/templates/layout.html:175
msgid "Create a Shelf"
msgstr "Utwórz półkę"
-#: cps/templates/layout.html:173 cps/templates/stats.html:3
+#: cps/templates/layout.html:176 cps/templates/stats.html:3
msgid "About"
msgstr "O programie"
-#: cps/templates/layout.html:187
+#: cps/templates/layout.html:190
msgid "Previous"
msgstr ""
-#: cps/templates/layout.html:214
+#: cps/templates/layout.html:217
msgid "Book Details"
msgstr ""
@@ -1357,26 +1458,38 @@ msgstr "Proszę wypróbować podobne wyszukiwanie"
msgid "Results for:"
msgstr "Wyniki dla:"
-#: cps/templates/search_form.html:20
+#: cps/templates/search.html:12
+msgid "Search result to shelf"
+msgstr ""
+
+#: cps/templates/search_form.html:19
msgid "Publishing date from"
msgstr ""
-#: cps/templates/search_form.html:27
+#: cps/templates/search_form.html:26
msgid "Publishing date to"
msgstr ""
-#: cps/templates/search_form.html:44
+#: cps/templates/search_form.html:43
msgid "Exclude Tags"
msgstr "Wyklucz tagi"
-#: cps/templates/search_form.html:64
+#: cps/templates/search_form.html:63
msgid "Exclude Series"
msgstr "Wyklucz serie"
-#: cps/templates/search_form.html:85
+#: cps/templates/search_form.html:84
msgid "Exclude Languages"
msgstr "Wyklucz języki"
+#: cps/templates/search_form.html:97
+msgid "Rating bigger than"
+msgstr ""
+
+#: cps/templates/search_form.html:101
+msgid "Rating less than"
+msgstr ""
+
#: cps/templates/shelf.html:7
msgid "Delete this Shelf"
msgstr "Usuń tą półkę"
@@ -1437,6 +1550,42 @@ msgstr "Biblioteka programu"
msgid "Installed Version"
msgstr "Zainstalowana wersja"
+#: cps/templates/tasks.html:7
+msgid "Tasks list"
+msgstr ""
+
+#: cps/templates/tasks.html:12
+msgid "User"
+msgstr ""
+
+#: cps/templates/tasks.html:14
+msgid "Task"
+msgstr ""
+
+#: cps/templates/tasks.html:15
+msgid "Status"
+msgstr ""
+
+#: cps/templates/tasks.html:16
+msgid "Progress"
+msgstr ""
+
+#: cps/templates/tasks.html:17
+msgid "Runtime"
+msgstr ""
+
+#: cps/templates/tasks.html:18
+msgid "Starttime"
+msgstr ""
+
+#: cps/templates/tasks.html:24
+msgid "Delete finished tasks"
+msgstr ""
+
+#: cps/templates/tasks.html:25
+msgid "Hide all tasks"
+msgstr ""
+
#: cps/templates/user_edit.html:23
msgid "Kindle E-Mail"
msgstr "Adres e-mail Kindle"
diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po
index 314f4e5d..ddeab9c4 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-07-15 15:03+0200\n"
+"POT-Creation-Date: 2018-08-18 12:11+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: Pavel Korovin \n"
"Language: ru\n"
@@ -26,503 +26,568 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.5.1\n"
-#: cps/book_formats.py:123 cps/book_formats.py:127 cps/web.py:1422
+#: cps/book_formats.py:128 cps/book_formats.py:132 cps/book_formats.py:136
+#: cps/converter.py:11 cps/converter.py:27
msgid "not installed"
msgstr "Отсутствует"
-#: cps/helper.py:68
-#, python-format
-msgid "kindlegen binary %(kindlepath)s not found"
+#: cps/converter.py:22 cps/converter.py:38
+msgid "Excecution permissions missing"
msgstr ""
-#: cps/helper.py:74
+#: cps/helper.py:54
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:84
-msgid "kindlegen failed, no execution permissions"
+#: cps/helper.py:70
+#, python-format
+msgid "Convert: %s"
msgstr ""
-#: cps/helper.py:99
-#, python-format
-msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
-msgstr ""
-
-#: cps/helper.py:178
-#, python-format
-msgid "Failed to send mail: %s"
-msgstr "Ошибка отправки письма: %s"
-
-#: cps/helper.py:185
+#: cps/helper.py:79
msgid "Calibre-web test email"
msgstr "Тестовое письмо от Calibre-web"
-#: cps/helper.py:186 cps/helper.py:198
-msgid "This email has been sent via calibre web."
-msgstr "Письмо было отправлено через calibre web"
+#: cps/helper.py:80
+msgid "Test E-Mail"
+msgstr ""
-#: cps/helper.py:195 cps/templates/detail.html:44
-msgid "Send to Kindle"
-msgstr "Отправить на Kindle"
-
-#: cps/helper.py:215 cps/helper.py:229
+#: cps/helper.py:102 cps/helper.py:112
msgid "Could not find any formats suitable for sending by email"
msgstr "Невозоможно найти формат, подходящий для отправки по email"
-#: cps/helper.py:342
+#: cps/helper.py:114 cps/templates/detail.html:44 cps/worker.py:219
+msgid "Send to Kindle"
+msgstr "Отправить на Kindle"
+
+#: cps/helper.py:115
+#, python-format
+msgid "E-Mail: %s"
+msgstr ""
+
+#: cps/helper.py:117
+msgid "The requested file could not be read. Maybe wrong permissions?"
+msgstr ""
+
+#: cps/helper.py:212
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:351
+#: cps/helper.py:221
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:374 cps/helper.py:383
+#: cps/helper.py:244 cps/helper.py:253
#, python-format
msgid "File %s not found on Google Drive"
msgstr ""
-#: cps/helper.py:394
+#: cps/helper.py:271
#, python-format
msgid "Book path %s not found on Google Drive"
msgstr ""
-#: cps/web.py:954
+#: cps/web.py:1026
msgid "Requesting update package"
msgstr "Проверка обновлений"
-#: cps/web.py:955
+#: cps/web.py:1027
msgid "Downloading update package"
msgstr "Загрузка обновлений"
-#: cps/web.py:956
+#: cps/web.py:1028
msgid "Unzipping update package"
msgstr "Распаковка обновлений"
-#: cps/web.py:957
+#: cps/web.py:1029
msgid "Files are replaced"
msgstr "Файлы заменены"
-#: cps/web.py:958
+#: cps/web.py:1030
msgid "Database connections are closed"
msgstr "Соеднинения с базой данных закрыты"
-#: cps/web.py:959
+#: cps/web.py:1031
msgid "Server is stopped"
msgstr "Сервер остановлен"
-#: cps/web.py:960
+#: cps/web.py:1032
msgid "Update finished, please press okay and reload page"
msgstr "Обновления установлены, нажмите okay и перезагрузите страницу"
-#: cps/web.py:1034
+#: cps/web.py:1052
msgid "Recently Added Books"
msgstr ""
-#: cps/web.py:1044
+#: cps/web.py:1062
msgid "Newest Books"
msgstr ""
-#: cps/web.py:1056
+#: cps/web.py:1074
msgid "Oldest Books"
msgstr ""
-#: cps/web.py:1068
+#: cps/web.py:1086
msgid "Books (A-Z)"
msgstr ""
-#: cps/web.py:1079
+#: cps/web.py:1097
msgid "Books (Z-A)"
msgstr ""
-#: cps/web.py:1108
+#: cps/web.py:1126
msgid "Hot Books (most downloaded)"
msgstr "Популярные книги (часто загружаемые)"
-#: cps/web.py:1121
+#: cps/web.py:1139
msgid "Best rated books"
msgstr "Книги с наивысшим рейтингом"
-#: cps/templates/index.xml:32 cps/web.py:1132
+#: cps/templates/index.xml:32 cps/web.py:1151
msgid "Random Books"
msgstr "Случайный выбор"
-#: cps/web.py:1146
+#: cps/web.py:1166
msgid "Author list"
msgstr "Авторы"
-#: cps/web.py:1158 cps/web.py:1220 cps/web.py:1379 cps/web.py:1909
+#: cps/web.py:1178 cps/web.py:1241 cps/web.py:1401 cps/web.py:1961
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен."
-#: cps/templates/index.xml:64 cps/web.py:1204
+#: cps/templates/index.xml:64 cps/web.py:1225
msgid "Series list"
msgstr "Серии"
-#: cps/web.py:1218
+#: cps/web.py:1239
#, python-format
msgid "Series: %(serie)s"
msgstr "Серии: %(serie)s"
-#: cps/web.py:1251
+#: cps/web.py:1272
msgid "Available languages"
msgstr "Языки"
-#: cps/web.py:1268
+#: cps/web.py:1289
#, python-format
msgid "Language: %(name)s"
msgstr "Язык: %(name)s"
-#: cps/templates/index.xml:58 cps/web.py:1278
+#: cps/templates/index.xml:58 cps/web.py:1300
msgid "Category list"
msgstr "Категории"
-#: cps/web.py:1292
+#: cps/web.py:1314
#, python-format
msgid "Category: %(name)s"
msgstr "Категория: %(name)s"
-#: cps/web.py:1433
-msgid "Excecution permissions missing"
+#: cps/templates/layout.html:71 cps/web.py:1451
+msgid "Tasks"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
msgid "Statistics"
msgstr "Статистика"
-#: cps/web.py:1544
+#: cps/web.py:1588
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
-#: cps/web.py:1620
+#: cps/web.py:1664
msgid "Server restarted, please reload page"
msgstr "Сервер перезагружен, пожалуйста, перезагрузите страницу"
-#: cps/web.py:1623
+#: cps/web.py:1667
msgid "Performing shutdown of server, please close window"
msgstr "Производится остановка сервера, пожалуйста, закройте окно"
-#: cps/web.py:1641
+#: cps/web.py:1685
msgid "Update done"
msgstr "Обновление закончено"
-#: cps/web.py:1698
+#: cps/web.py:1741 cps/web.py:1782
+#, python-format
+msgid "%s: %s"
+msgstr ""
+
+#: cps/web.py:1753
#, python-format
msgid "Published after %s"
msgstr ""
-#: cps/web.py:1703
+#: cps/web.py:1758
msgid "Published before "
msgstr ""
-#: cps/web.py:1749 cps/web.py:1762
+#: cps/web.py:1776
+#, python-format
+msgid "Rating <= %s"
+msgstr ""
+
+#: cps/web.py:1778
+#, python-format
+msgid "Rating >= %s"
+msgstr ""
+
+#: cps/web.py:1833 cps/web.py:1849
msgid "search"
msgstr "поиск"
#: cps/templates/index.xml:39 cps/templates/index.xml:42
-#: cps/templates/layout.html:143 cps/web.py:1864
+#: cps/templates/layout.html:146 cps/web.py:1916
msgid "Read Books"
msgstr "Прочитанные"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
-#: cps/templates/layout.html:145 cps/web.py:1867
+#: cps/templates/layout.html:148 cps/web.py:1919
msgid "Unread Books"
msgstr "Непрочитанные"
-#: cps/web.py:1919 cps/web.py:1921 cps/web.py:1923 cps/web.py:1935
+#: cps/web.py:1971 cps/web.py:1973 cps/web.py:1975 cps/web.py:1987
msgid "Read a Book"
msgstr "Читать книгу"
-#: cps/web.py:1991 cps/web.py:2744
+#: cps/web.py:2044 cps/web.py:2817
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
-#: cps/web.py:1992 cps/web.py:2009 cps/web.py:2014 cps/web.py:2016
+#: cps/web.py:2045 cps/web.py:2062 cps/web.py:2067 cps/web.py:2069
msgid "register"
msgstr "зарегистрироваться"
-#: cps/web.py:2008
+#: cps/web.py:2061
msgid "An unknown error occured. Please try again later."
msgstr "Неизвестная ошибка. Пожалуйста, попробуйте позже."
-#: cps/web.py:2013
+#: cps/web.py:2066
msgid "This username or email address is already in use."
msgstr "Имя пользователя или адрес эл. почты уже используется"
-#: cps/web.py:2030 cps/web.py:2126
+#: cps/web.py:2083 cps/web.py:2179
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как пользователь '%(nickname)s'"
-#: cps/web.py:2035
+#: cps/web.py:2088
msgid "Wrong Username or Password"
msgstr "Ошибка в имени пользователя или пароле"
-#: cps/web.py:2041 cps/web.py:2062
+#: cps/web.py:2094 cps/web.py:2115
msgid "login"
msgstr "войти"
-#: cps/web.py:2074 cps/web.py:2105
+#: cps/web.py:2127 cps/web.py:2158
msgid "Token not found"
msgstr ""
-#: cps/web.py:2082 cps/web.py:2113
+#: cps/web.py:2135 cps/web.py:2166
msgid "Token has expired"
msgstr ""
-#: cps/web.py:2090
+#: cps/web.py:2143
msgid "Success! Please return to your device"
msgstr ""
-#: cps/web.py:2140
+#: cps/web.py:2193
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сначала сконфигурируйте параметры SMTP"
-#: cps/web.py:2144
+#: cps/web.py:2197
#, python-format
-msgid "Book successfully send to %(kindlemail)s"
-msgstr "Книга успешно отправлена на %(kindlemail)s"
+msgid "Book successfully queued for sending to %(kindlemail)s"
+msgstr ""
-#: cps/web.py:2148
+#: cps/web.py:2201
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "Ошибка при отправке книги: %(res)s"
-#: cps/web.py:2150 cps/web.py:2832
+#: cps/web.py:2203 cps/web.py:2905
msgid "Please configure your kindle email address first..."
msgstr "Пожалуйста, сначала укажите ваш kindle email..."
-#: cps/web.py:2194
+#: cps/web.py:2247
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга добавлена на книжную полку: %(sname)s"
-#: cps/web.py:2232
+#: cps/web.py:2285
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга удалена с книжной полки: %(sname)s"
-#: cps/web.py:2238
+#: cps/web.py:2291
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2258 cps/web.py:2282
+#: cps/web.py:2311 cps/web.py:2335
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "Книжкная полка с названием '%(title)s' уже существует."
-#: cps/web.py:2263
+#: cps/web.py:2316
#, python-format
msgid "Shelf %(title)s created"
msgstr "Создана книжная полка %(title)s"
-#: cps/web.py:2265 cps/web.py:2293
+#: cps/web.py:2318 cps/web.py:2346
msgid "There was an error"
msgstr "Произошла ошибка"
-#: cps/web.py:2266 cps/web.py:2268
+#: cps/web.py:2319 cps/web.py:2321
msgid "create a shelf"
msgstr "создать книжную полку"
-#: cps/web.py:2291
+#: cps/web.py:2344
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Книжная полка %(title)s изменена"
-#: cps/web.py:2294 cps/web.py:2296
+#: cps/web.py:2347 cps/web.py:2349
msgid "Edit a shelf"
msgstr "Изменить книжную полку"
-#: cps/web.py:2317
+#: cps/web.py:2370
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "Книжная полка %(name)s удалена"
-#: cps/web.py:2339
+#: cps/web.py:2392
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Книжная полка: '%(name)s'"
-#: cps/web.py:2342
+#: cps/web.py:2395
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
-#: cps/web.py:2373
+#: cps/web.py:2426
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Изменить расположение книжной полки '%(name)s'"
-#: cps/web.py:2444
+#: cps/web.py:2498
msgid "Found an existing account for this email address."
msgstr "Найдена учётная запись для для данного адреса email."
-#: cps/web.py:2446 cps/web.py:2450
+#: cps/web.py:2500 cps/web.py:2503
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s"
-#: cps/web.py:2447
+#: cps/web.py:2501
msgid "Profile updated"
msgstr "Профиль обновлён"
-#: cps/web.py:2459
+#: cps/web.py:2513
msgid "Unknown"
msgstr ""
-#: cps/web.py:2472
+#: cps/web.py:2526
msgid "Admin page"
msgstr "Администрирование"
-#: cps/web.py:2560 cps/web.py:2692
+#: cps/web.py:2604 cps/web.py:2766
msgid "Calibre-web configuration updated"
msgstr "Конфигурация Calibre-web обновлена"
-#: cps/templates/admin.html:80 cps/web.py:2565
+#: cps/templates/admin.html:83 cps/web.py:2617
msgid "UI Configuration"
msgstr ""
-#: cps/web.py:2581
+#: cps/web.py:2633
msgid "Import of optional Google Drive requirements missing"
msgstr ""
-#: cps/web.py:2584
+#: cps/web.py:2636
msgid "client_secrets.json is missing or not readable"
msgstr ""
-#: cps/web.py:2589 cps/web.py:2617
+#: cps/web.py:2641 cps/web.py:2669
msgid "client_secrets.json is not configured for web application"
msgstr ""
-#: cps/templates/admin.html:79 cps/web.py:2620 cps/web.py:2645 cps/web.py:2656
-#: cps/web.py:2680 cps/web.py:2700 cps/web.py:2707 cps/web.py:2725
+#: cps/templates/admin.html:82 cps/web.py:2672 cps/web.py:2698 cps/web.py:2710
+#: cps/web.py:2753 cps/web.py:2774 cps/web.py:2781 cps/web.py:2798
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/web.py:2642
+#: cps/web.py:2695
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2653
+#: cps/web.py:2707
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2677
+#: cps/web.py:2750
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2704
+#: cps/web.py:2778
msgid "DB location is not valid, please enter correct path"
msgstr "Неверный путь к фалу БД, пожалуйста, укажите правильное расположение БД"
-#: cps/templates/admin.html:34 cps/web.py:2746 cps/web.py:2802
+#: cps/templates/admin.html:34 cps/web.py:2819 cps/web.py:2875
msgid "Add new user"
msgstr "Добавить пользователя"
-#: cps/web.py:2792
+#: cps/web.py:2865
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
-#: cps/web.py:2796
+#: cps/web.py:2869
msgid "Found an existing account for this email address or nickname."
msgstr "Для указанного адреса или имени найдена существующая учётная запись."
-#: cps/web.py:2820
+#: cps/web.py:2893
msgid "Mail settings updated"
msgstr "Настройки почты изменены"
-#: cps/web.py:2827
+#: cps/web.py:2900
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "Тестовое сообщение успешно отправлено на адрес %(kindlemail)s"
-#: cps/web.py:2830
+#: cps/web.py:2903
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "Ошибка отправки тестового сообщения: %(res)s"
-#: cps/web.py:2834
+#: cps/web.py:2907
msgid "E-Mail settings updated"
msgstr "Обновлены настройки e-mail"
-#: cps/web.py:2835
+#: cps/web.py:2908
msgid "Edit mail settings"
msgstr "Изменить почтовые настройки"
-#: cps/web.py:2865
+#: cps/web.py:2938
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
-#: cps/web.py:2974
+#: cps/web.py:3047
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
-#: cps/web.py:2977
+#: cps/web.py:3050
msgid "An unknown error occured."
msgstr "Произошла неизвестная ошибка."
-#: cps/web.py:2980
+#: cps/web.py:3052
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
-#: cps/web.py:2996
+#: cps/web.py:3069
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
-#: cps/web.py:3011 cps/web.py:3222 cps/web.py:3227 cps/web.py:3395
+#: cps/web.py:3084 cps/web.py:3316 cps/web.py:3321 cps/web.py:3478
msgid "edit metadata"
msgstr "изменить метаданные"
-#: cps/web.py:3021 cps/web.py:3272
+#: cps/web.py:3095 cps/web.py:3346
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "Запрещена загрузка файлов с расширением \"%s\""
-#: cps/web.py:3032
-#, python-format
-msgid "Failed to store file %s."
-msgstr ""
-
-#: cps/web.py:3056 cps/web.py:3060
-msgid "unknown"
-msgstr "неизвестно"
-
-#: cps/web.py:3081
-msgid "Cover is not a jpg file, can't save"
-msgstr ""
-
-#: cps/web.py:3231
-msgid "Error editing book, please check logfile for details"
-msgstr ""
-
-#: cps/web.py:3278
+#: cps/web.py:3098 cps/web.py:3352
msgid "File to be uploaded must have an extension"
msgstr "Загружаемый файл должен иметь расширение"
-#: cps/web.py:3297
+#: cps/web.py:3110 cps/web.py:3372
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "Ошибка при создании пути %s (доступ запрещён)"
-#: cps/web.py:3302
+#: cps/web.py:3115
+#, python-format
+msgid "Failed to store file %s."
+msgstr ""
+
+#: cps/web.py:3131
+#, python-format
+msgid "File format %s added to %s"
+msgstr ""
+
+#: cps/web.py:3147 cps/web.py:3151
+msgid "unknown"
+msgstr "неизвестно"
+
+#: cps/web.py:3173
+msgid "Cover is not a jpg file, can't save"
+msgstr ""
+
+#: cps/web.py:3325
+msgid "Error editing book, please check logfile for details"
+msgstr ""
+
+#: cps/web.py:3377
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "Ошибка записи файоа %s (доступ запрещён)"
-#: cps/web.py:3307
+#: cps/web.py:3382
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "Ошибка удаления файла %s (доступ запрещён)"
+#: cps/web.py:3464
+#, python-format
+msgid "File %s uploaded"
+msgstr ""
+
+#: cps/worker.py:212 cps/worker.py:357
+msgid "Started"
+msgstr ""
+
+#: cps/worker.py:221
+#, python-format
+msgid "E-Mail: %stitle"
+msgstr ""
+
+#: cps/worker.py:229
+#, python-format
+msgid "Convertertool %(converter)s not found"
+msgstr ""
+
+#: cps/worker.py:248
+#, python-format
+msgid "Ebook-converter failed: %s"
+msgstr ""
+
+#: cps/worker.py:258
+#, python-format
+msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgstr ""
+
+#: cps/worker.py:291 cps/worker.py:346 cps/worker.py:409
+msgid "Finished"
+msgstr ""
+
+#: cps/worker.py:314 cps/worker.py:332
+msgid "Waiting"
+msgstr ""
+
+#: cps/worker.py:364
+msgid "This email has been sent via calibre web."
+msgstr "Письмо было отправлено через calibre web"
+
+#: cps/worker.py:435
+msgid "Failed"
+msgstr ""
+
#: cps/templates/admin.html:4
msgid "User list"
msgstr "Список пользователей"
@@ -543,7 +608,7 @@ msgstr "Kindle"
msgid "DLS"
msgstr "DLS"
-#: cps/templates/admin.html:12 cps/templates/layout.html:71
+#: cps/templates/admin.html:12 cps/templates/layout.html:74
msgid "Admin"
msgstr "Управление"
@@ -597,96 +662,100 @@ msgid "Change SMTP settings"
msgstr "Изменить настройки SMTP"
#: cps/templates/admin.html:57
+msgid "Edit allowed domains"
+msgstr ""
+
+#: cps/templates/admin.html:60
msgid "Configuration"
msgstr "Настройки сервера"
-#: cps/templates/admin.html:60
+#: cps/templates/admin.html:63
msgid "Calibre DB dir"
msgstr "Папка Calibre DB"
-#: cps/templates/admin.html:61 cps/templates/config_edit.html:100
+#: cps/templates/admin.html:64 cps/templates/config_edit.html:106
msgid "Log Level"
msgstr "Уровень логирования"
-#: cps/templates/admin.html:62
+#: cps/templates/admin.html:65
msgid "Port"
msgstr "Порт"
-#: cps/templates/admin.html:63 cps/templates/config_view_edit.html:23
+#: cps/templates/admin.html:66 cps/templates/config_view_edit.html:23
msgid "Books per page"
msgstr "Количество книг на странице"
-#: cps/templates/admin.html:64
+#: cps/templates/admin.html:67
msgid "Uploading"
msgstr "Загрузка на сервер"
-#: cps/templates/admin.html:65
+#: cps/templates/admin.html:68
msgid "Public registration"
msgstr "Публичная регистрация"
-#: cps/templates/admin.html:66
+#: cps/templates/admin.html:69
msgid "Anonymous browsing"
msgstr "Анонимный просмотр"
-#: cps/templates/admin.html:67 cps/templates/remote_login.html:4
+#: cps/templates/admin.html:70 cps/templates/remote_login.html:4
msgid "Remote Login"
msgstr ""
-#: cps/templates/admin.html:81
+#: cps/templates/admin.html:84
msgid "Administration"
msgstr "Управление"
-#: cps/templates/admin.html:83
+#: cps/templates/admin.html:85
msgid "Current commit timestamp"
msgstr ""
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:86
msgid "Newest commit timestamp"
msgstr ""
-#: cps/templates/admin.html:86
+#: cps/templates/admin.html:88
msgid "Reconnect to Calibre DB"
msgstr "Переподключиться к БД Calibre"
-#: cps/templates/admin.html:87
+#: cps/templates/admin.html:89
msgid "Restart Calibre-web"
msgstr "Перезагрузить Calibre-web"
-#: cps/templates/admin.html:88
+#: cps/templates/admin.html:90
msgid "Stop Calibre-web"
msgstr "Остановить Calibre-web"
-#: cps/templates/admin.html:89
+#: cps/templates/admin.html:91
msgid "Check for update"
msgstr "Проверка обновлений"
-#: cps/templates/admin.html:90
+#: cps/templates/admin.html:92
msgid "Perform Update"
msgstr "Установить обновления"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:101
msgid "Do you really want to restart Calibre-web?"
msgstr "Вы действительно хотите перезагрузить Calibre-web?"
-#: cps/templates/admin.html:105 cps/templates/admin.html:119
-#: cps/templates/admin.html:140 cps/templates/shelf.html:59
+#: cps/templates/admin.html:106 cps/templates/admin.html:120
+#: cps/templates/admin.html:141 cps/templates/shelf.html:59
msgid "Ok"
msgstr "Ok"
-#: cps/templates/admin.html:106 cps/templates/admin.html:120
-#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
-#: cps/templates/config_edit.html:168 cps/templates/config_view_edit.html:164
+#: cps/templates/admin.html:107 cps/templates/admin.html:121
+#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166
+#: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164
#: cps/templates/email_edit.html:36 cps/templates/shelf.html:60
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
#: cps/templates/user_edit.html:147
msgid "Back"
msgstr "Назад"
-#: cps/templates/admin.html:118
+#: cps/templates/admin.html:119
msgid "Do you really want to stop Calibre-web?"
msgstr "Вы действительно хотите остановить Calibre-web?"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:132
msgid "Updating, please do not reload page"
msgstr "Установка обновлений, пожалуйста, не обновляйте страницу."
@@ -706,132 +775,136 @@ msgstr ""
msgid "Delete Book"
msgstr "Удалить книгу"
-#: cps/templates/book_edit.html:22 cps/templates/search_form.html:6
+#: cps/templates/book_edit.html:19
+msgid "Delete formats:"
+msgstr ""
+
+#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165
+msgid "Delete"
+msgstr "Удалить"
+
+#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6
msgid "Book Title"
msgstr "Название"
-#: cps/templates/book_edit.html:26 cps/templates/book_edit.html:216
-#: cps/templates/book_edit.html:234 cps/templates/search_form.html:10
+#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225
+#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10
msgid "Author"
msgstr "Автор"
-#: cps/templates/book_edit.html:30 cps/templates/book_edit.html:221
-#: cps/templates/book_edit.html:236
+#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230
+#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106
msgid "Description"
msgstr "Описание"
-#: cps/templates/book_edit.html:34 cps/templates/search_form.html:34
+#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33
msgid "Tags"
msgstr "Теги"
-#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
-#: cps/templates/search_form.html:54
+#: cps/templates/book_edit.html:48 cps/templates/layout.html:157
+#: cps/templates/search_form.html:53
msgid "Series"
msgstr "Серии"
-#: cps/templates/book_edit.html:43
+#: cps/templates/book_edit.html:52
msgid "Series id"
msgstr "Серия"
-#: cps/templates/book_edit.html:47
+#: cps/templates/book_edit.html:56
msgid "Rating"
msgstr "Рейтинг"
-#: cps/templates/book_edit.html:51
+#: cps/templates/book_edit.html:60
msgid ""
"Cover URL (jpg, cover is downloaded and stored in database, field is "
"afterwards empty again)"
msgstr ""
-#: cps/templates/book_edit.html:56 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:65 cps/templates/detail.html:131
msgid "Publishing date"
msgstr "Опубликовано"
-#: cps/templates/book_edit.html:63 cps/templates/user_edit.html:27
+#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:27
msgid "Language"
msgstr "Язык"
-#: cps/templates/book_edit.html:74
+#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117
msgid "Yes"
msgstr "Да"
-#: cps/templates/book_edit.html:75
+#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118
msgid "No"
msgstr "Нет"
-#: cps/templates/book_edit.html:121
+#: cps/templates/book_edit.html:130
msgid "Upload format"
msgstr ""
-#: cps/templates/book_edit.html:130
+#: cps/templates/book_edit.html:139
msgid "view book after edit"
msgstr "смотреть книгу после редактирования"
-#: cps/templates/book_edit.html:133 cps/templates/book_edit.html:169
+#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178
msgid "Get metadata"
msgstr "Получить метаданные"
-#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:166
+#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:163 cps/templates/login.html:20
-#: cps/templates/search_form.html:96 cps/templates/shelf_edit.html:17
+#: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17
#: cps/templates/user_edit.html:145
msgid "Submit"
msgstr "Отправить"
-#: cps/templates/book_edit.html:148
+#: cps/templates/book_edit.html:157
msgid "Are really you sure?"
msgstr "Вы действительно уверены?"
-#: cps/templates/book_edit.html:151
+#: cps/templates/book_edit.html:160
msgid "Book will be deleted from Calibre database"
msgstr "Книга будет удалена из БД Calibre"
-#: cps/templates/book_edit.html:152
+#: cps/templates/book_edit.html:161
msgid "and from hard disk"
msgstr "и с диска"
-#: cps/templates/book_edit.html:156
-msgid "Delete"
-msgstr "Удалить"
-
-#: cps/templates/book_edit.html:172
+#: cps/templates/book_edit.html:181
msgid "Keyword"
msgstr "Ключевое слово"
-#: cps/templates/book_edit.html:173
+#: cps/templates/book_edit.html:182
msgid " Search keyword "
msgstr " Поиск по ключевому слову"
-#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
+#: cps/templates/book_edit.html:184 cps/templates/layout.html:46
msgid "Go!"
msgstr "Искать"
-#: cps/templates/book_edit.html:179
+#: cps/templates/book_edit.html:188
msgid "Click the cover to load metadata to the form"
msgstr "Нажмите на обложку, чтобы получить метаданные"
-#: cps/templates/book_edit.html:191 cps/templates/book_edit.html:231
+#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240
msgid "Loading..."
msgstr "Загрузка..."
-#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
+#: cps/templates/book_edit.html:205 cps/templates/layout.html:221
msgid "Close"
msgstr "Закрыть"
-#: cps/templates/book_edit.html:218 cps/templates/book_edit.html:235
+#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244
#: cps/templates/detail.html:126 cps/templates/search_form.html:14
msgid "Publisher"
msgstr "Издатель"
-#: cps/templates/book_edit.html:223 cps/templates/book_edit.html:237
+#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246
msgid "Source"
msgstr "Источник"
-#: cps/templates/book_edit.html:232
+#: cps/templates/book_edit.html:241
msgid "Search error!"
msgstr "Ошибка поиска!"
-#: cps/templates/book_edit.html:233
+#: cps/templates/book_edit.html:242
msgid "No Result! Please try anonther keyword."
msgstr "Нет результатов. Пожалуйста, попробуйте другое ключевое слово"
@@ -856,78 +929,106 @@ msgid "Authenticate Google Drive"
msgstr ""
#: cps/templates/config_edit.html:40
+msgid "Please finish Google Drive setup after login"
+msgstr ""
+
+#: cps/templates/config_edit.html:44
msgid "Google Drive Calibre folder"
msgstr ""
-#: cps/templates/config_edit.html:48
+#: cps/templates/config_edit.html:52
msgid "Metadata Watch Channel ID"
msgstr "Metadata Watch Channel ID"
-#: cps/templates/config_edit.html:51
+#: cps/templates/config_edit.html:55
msgid "Revoke"
msgstr ""
-#: cps/templates/config_edit.html:67
+#: cps/templates/config_edit.html:73
msgid "Server Configuration"
msgstr ""
-#: cps/templates/config_edit.html:74
+#: cps/templates/config_edit.html:80
msgid "Server Port"
msgstr "Порт сервера"
-#: cps/templates/config_edit.html:78
+#: cps/templates/config_edit.html:84
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:82
+#: cps/templates/config_edit.html:88
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:93
+#: cps/templates/config_edit.html:99
msgid "Logfile Configuration"
msgstr ""
-#: cps/templates/config_edit.html:109
+#: cps/templates/config_edit.html:115
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:120
+#: cps/templates/config_edit.html:126
msgid "Feature Configuration"
msgstr ""
-#: cps/templates/config_edit.html:128
+#: cps/templates/config_edit.html:134
msgid "Enable uploading"
msgstr "Разрешить загрузку на сервер"
-#: cps/templates/config_edit.html:132
+#: cps/templates/config_edit.html:138
msgid "Enable anonymous browsing"
msgstr "Разрешить анонимный просмотр"
-#: cps/templates/config_edit.html:136
+#: cps/templates/config_edit.html:142
msgid "Enable public registration"
msgstr "Разрешить публичную регистрацию"
-#: cps/templates/config_edit.html:140
+#: cps/templates/config_edit.html:146
msgid "Enable remote login (\"magic link\")"
msgstr ""
-#: cps/templates/config_edit.html:145
+#: cps/templates/config_edit.html:151
msgid "Use"
msgstr ""
-#: cps/templates/config_edit.html:146
+#: cps/templates/config_edit.html:152
msgid "Obtain an API Key"
msgstr ""
-#: cps/templates/config_edit.html:150
+#: cps/templates/config_edit.html:156
msgid "Goodreads API Key"
msgstr ""
-#: cps/templates/config_edit.html:154
+#: cps/templates/config_edit.html:160
msgid "Goodreads API Secret"
msgstr ""
-#: cps/templates/config_edit.html:171 cps/templates/layout.html:79
+#: cps/templates/config_edit.html:173
+msgid "E-Book converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:181
+msgid "No converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:183
+msgid "Use Kindlegen"
+msgstr ""
+
+#: cps/templates/config_edit.html:185
+msgid "Use calibre's ebook converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:189
+msgid "E-Book converter settings"
+msgstr ""
+
+#: cps/templates/config_edit.html:193
+msgid "Path to convertertool"
+msgstr ""
+
+#: cps/templates/config_edit.html:209 cps/templates/layout.html:82
#: cps/templates/login.html:4
msgid "Login"
msgstr "Имя пользователя"
@@ -936,8 +1037,8 @@ msgstr "Имя пользователя"
msgid "View Configuration"
msgstr ""
-#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:130
-#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
+#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:133
+#: cps/templates/layout.html:134 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "Заголовок"
@@ -1109,7 +1210,7 @@ msgstr "Сохранить настройки"
msgid "Save settings and send Test E-Mail"
msgstr "Сохранить настройки и отправить тестовое письмо"
-#: cps/templates/feed.xml:20 cps/templates/layout.html:202
+#: cps/templates/feed.xml:20 cps/templates/layout.html:205
msgid "Next"
msgstr "Дальше"
@@ -1126,7 +1227,7 @@ msgstr "Обзор (случайные книги)"
msgid "Start"
msgstr "Старт"
-#: cps/templates/index.xml:14 cps/templates/layout.html:136
+#: cps/templates/index.xml:14 cps/templates/layout.html:139
msgid "Hot Books"
msgstr "Популярные книги"
@@ -1134,7 +1235,7 @@ msgstr "Популярные книги"
msgid "Popular publications from this catalog based on Downloads."
msgstr "Популярные книги в этом каталоге, на основе количества скачиваний"
-#: cps/templates/index.xml:20 cps/templates/layout.html:139
+#: cps/templates/index.xml:20 cps/templates/layout.html:142
msgid "Best rated Books"
msgstr "Книги с наилучшим рейтингом"
@@ -1154,7 +1255,7 @@ msgstr "Последние поступления"
msgid "Show Random Books"
msgstr "Показывать случайные книги"
-#: cps/templates/index.xml:52 cps/templates/layout.html:157
+#: cps/templates/index.xml:52 cps/templates/layout.html:160
msgid "Authors"
msgstr "Авторы"
@@ -1170,7 +1271,7 @@ msgstr "Книги, отсортированные по категории"
msgid "Books ordered by series"
msgstr "Книги, отсортированные по серии"
-#: cps/templates/index.xml:70 cps/templates/layout.html:163
+#: cps/templates/index.xml:70 cps/templates/layout.html:166
msgid "Public Shelves"
msgstr "Общие книжные полки"
@@ -1178,7 +1279,7 @@ msgstr "Общие книжные полки"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
-#: cps/templates/index.xml:77 cps/templates/layout.html:167
+#: cps/templates/index.xml:77 cps/templates/layout.html:170
msgid "Your Shelves"
msgstr "Ваши книжные полки"
@@ -1194,80 +1295,80 @@ msgstr "Включить навигацию"
msgid "Advanced Search"
msgstr "Расширенный поиск"
-#: cps/templates/layout.html:75
+#: cps/templates/layout.html:78
msgid "Logout"
msgstr "Выход"
-#: cps/templates/layout.html:80 cps/templates/register.html:18
+#: cps/templates/layout.html:83 cps/templates/register.html:18
msgid "Register"
msgstr "Зарегистрироваться"
-#: cps/templates/layout.html:105
+#: cps/templates/layout.html:108
msgid "Uploading..."
msgstr ""
-#: cps/templates/layout.html:106
+#: cps/templates/layout.html:109
msgid "please don't refresh the page"
msgstr ""
-#: cps/templates/layout.html:117
+#: cps/templates/layout.html:120
msgid "Browse"
msgstr "Просмотр"
-#: cps/templates/layout.html:119
+#: cps/templates/layout.html:122
msgid "Recently Added"
msgstr ""
-#: cps/templates/layout.html:124
+#: cps/templates/layout.html:127
msgid "Sorted Books"
msgstr ""
-#: cps/templates/layout.html:128 cps/templates/layout.html:129
-#: cps/templates/layout.html:130 cps/templates/layout.html:131
+#: cps/templates/layout.html:131 cps/templates/layout.html:132
+#: cps/templates/layout.html:133 cps/templates/layout.html:134
msgid "Sort By"
msgstr ""
-#: cps/templates/layout.html:128
+#: cps/templates/layout.html:131
msgid "Newest"
msgstr ""
-#: cps/templates/layout.html:129
+#: cps/templates/layout.html:132
msgid "Oldest"
msgstr ""
-#: cps/templates/layout.html:130
+#: cps/templates/layout.html:133
msgid "Ascending"
msgstr ""
-#: cps/templates/layout.html:131
+#: cps/templates/layout.html:134
msgid "Descending"
msgstr ""
-#: cps/templates/layout.html:148
+#: cps/templates/layout.html:151
msgid "Discover"
msgstr "Обзор"
-#: cps/templates/layout.html:151
+#: cps/templates/layout.html:154
msgid "Categories"
msgstr "Категории"
-#: cps/templates/layout.html:160 cps/templates/search_form.html:75
+#: cps/templates/layout.html:163 cps/templates/search_form.html:74
msgid "Languages"
msgstr "Языки"
-#: cps/templates/layout.html:172
+#: cps/templates/layout.html:175
msgid "Create a Shelf"
msgstr "Создать книжную полку"
-#: cps/templates/layout.html:173 cps/templates/stats.html:3
+#: cps/templates/layout.html:176 cps/templates/stats.html:3
msgid "About"
msgstr "О программе"
-#: cps/templates/layout.html:187
+#: cps/templates/layout.html:190
msgid "Previous"
msgstr ""
-#: cps/templates/layout.html:214
+#: cps/templates/layout.html:217
msgid "Book Details"
msgstr ""
@@ -1353,26 +1454,38 @@ msgstr "Попробуйте изменить критерии поиск"
msgid "Results for:"
msgstr "Результаты для:"
-#: cps/templates/search_form.html:20
+#: cps/templates/search.html:12
+msgid "Search result to shelf"
+msgstr ""
+
+#: cps/templates/search_form.html:19
msgid "Publishing date from"
msgstr ""
-#: cps/templates/search_form.html:27
+#: cps/templates/search_form.html:26
msgid "Publishing date to"
msgstr ""
-#: cps/templates/search_form.html:44
+#: cps/templates/search_form.html:43
msgid "Exclude Tags"
msgstr "Исключить теги"
-#: cps/templates/search_form.html:64
+#: cps/templates/search_form.html:63
msgid "Exclude Series"
msgstr "Исключить серии"
-#: cps/templates/search_form.html:85
+#: cps/templates/search_form.html:84
msgid "Exclude Languages"
msgstr "Исключить языки"
+#: cps/templates/search_form.html:97
+msgid "Rating bigger than"
+msgstr ""
+
+#: cps/templates/search_form.html:101
+msgid "Rating less than"
+msgstr ""
+
#: cps/templates/shelf.html:7
msgid "Delete this Shelf"
msgstr "Удалить эту книжную полку"
@@ -1433,6 +1546,42 @@ msgstr "Название"
msgid "Installed Version"
msgstr "Версия"
+#: cps/templates/tasks.html:7
+msgid "Tasks list"
+msgstr ""
+
+#: cps/templates/tasks.html:12
+msgid "User"
+msgstr ""
+
+#: cps/templates/tasks.html:14
+msgid "Task"
+msgstr ""
+
+#: cps/templates/tasks.html:15
+msgid "Status"
+msgstr ""
+
+#: cps/templates/tasks.html:16
+msgid "Progress"
+msgstr ""
+
+#: cps/templates/tasks.html:17
+msgid "Runtime"
+msgstr ""
+
+#: cps/templates/tasks.html:18
+msgid "Starttime"
+msgstr ""
+
+#: cps/templates/tasks.html:24
+msgid "Delete finished tasks"
+msgstr ""
+
+#: cps/templates/tasks.html:25
+msgid "Hide all tasks"
+msgstr ""
+
#: cps/templates/user_edit.html:23
msgid "Kindle E-Mail"
msgstr "Адрес почты Kindle"
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po
index 7c293c06..eb36736a 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-07-15 15:03+0200\n"
+"POT-Creation-Date: 2018-08-18 12:11+0200\n"
"PO-Revision-Date: 2017-01-06 17:00+0000\n"
"Last-Translator: dalin \n"
"Language: zh_Hans_CN\n"
@@ -26,503 +26,568 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.5.1\n"
-#: cps/book_formats.py:123 cps/book_formats.py:127 cps/web.py:1422
+#: cps/book_formats.py:128 cps/book_formats.py:132 cps/book_formats.py:136
+#: cps/converter.py:11 cps/converter.py:27
msgid "not installed"
msgstr "未安装"
-#: cps/helper.py:68
-#, python-format
-msgid "kindlegen binary %(kindlepath)s not found"
-msgstr "找不到kindlegen二进制 %(kindlepath)s"
+#: cps/converter.py:22 cps/converter.py:38
+msgid "Excecution permissions missing"
+msgstr "可执行权限缺失"
-#: cps/helper.py:74
+#: cps/helper.py:54
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr "没有找到书籍ID %(book)d 的epub格式"
-#: cps/helper.py:84
-msgid "kindlegen failed, no execution permissions"
-msgstr "kindlegen失败,没有可执行权限"
-
-#: cps/helper.py:99
+#: cps/helper.py:70
#, python-format
-msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
-msgstr "Kindlegen 因为错误 %(error)s 失败。消息: %(message)s"
+msgid "Convert: %s"
+msgstr ""
-#: cps/helper.py:178
-#, python-format
-msgid "Failed to send mail: %s"
-msgstr "发送邮件失败: %s"
-
-#: cps/helper.py:185
+#: cps/helper.py:79
msgid "Calibre-web test email"
msgstr "Calibre-web 测试邮件"
-#: cps/helper.py:186 cps/helper.py:198
-msgid "This email has been sent via calibre web."
-msgstr "此邮件由calibre web发送"
+#: cps/helper.py:80
+msgid "Test E-Mail"
+msgstr ""
-#: cps/helper.py:195 cps/templates/detail.html:44
-msgid "Send to Kindle"
-msgstr "发送到Kindle"
-
-#: cps/helper.py:215 cps/helper.py:229
+#: cps/helper.py:102 cps/helper.py:112
msgid "Could not find any formats suitable for sending by email"
msgstr "无法找到适合邮件发送的格式"
-#: cps/helper.py:342
+#: cps/helper.py:114 cps/templates/detail.html:44 cps/worker.py:219
+msgid "Send to Kindle"
+msgstr "发送到Kindle"
+
+#: cps/helper.py:115
+#, python-format
+msgid "E-Mail: %s"
+msgstr ""
+
+#: cps/helper.py:117
+msgid "The requested file could not be read. Maybe wrong permissions?"
+msgstr ""
+
+#: cps/helper.py:212
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:351
+#: cps/helper.py:221
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:374 cps/helper.py:383
+#: cps/helper.py:244 cps/helper.py:253
#, python-format
msgid "File %s not found on Google Drive"
msgstr ""
-#: cps/helper.py:394
+#: cps/helper.py:271
#, python-format
msgid "Book path %s not found on Google Drive"
msgstr ""
-#: cps/web.py:954
+#: cps/web.py:1026
msgid "Requesting update package"
msgstr "正在请求更新包"
-#: cps/web.py:955
+#: cps/web.py:1027
msgid "Downloading update package"
msgstr "正在下载更新包"
-#: cps/web.py:956
+#: cps/web.py:1028
msgid "Unzipping update package"
msgstr "正在解压更新包"
-#: cps/web.py:957
+#: cps/web.py:1029
msgid "Files are replaced"
msgstr "文件已替换"
-#: cps/web.py:958
+#: cps/web.py:1030
msgid "Database connections are closed"
msgstr "数据库连接已关闭"
-#: cps/web.py:959
+#: cps/web.py:1031
msgid "Server is stopped"
msgstr "服务器已停止"
-#: cps/web.py:960
+#: cps/web.py:1032
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,请按确定并刷新页面"
-#: cps/web.py:1034
+#: cps/web.py:1052
msgid "Recently Added Books"
msgstr "最近添加的书籍"
-#: cps/web.py:1044
+#: cps/web.py:1062
msgid "Newest Books"
msgstr "最新书籍"
-#: cps/web.py:1056
+#: cps/web.py:1074
msgid "Oldest Books"
msgstr "最旧书籍"
-#: cps/web.py:1068
+#: cps/web.py:1086
msgid "Books (A-Z)"
msgstr "书籍 (A-Z)"
-#: cps/web.py:1079
+#: cps/web.py:1097
msgid "Books (Z-A)"
msgstr "书籍 (Z-A)"
-#: cps/web.py:1108
+#: cps/web.py:1126
msgid "Hot Books (most downloaded)"
msgstr "热门书籍(最多下载)"
-#: cps/web.py:1121
+#: cps/web.py:1139
msgid "Best rated books"
msgstr "最高评分书籍"
-#: cps/templates/index.xml:32 cps/web.py:1132
+#: cps/templates/index.xml:32 cps/web.py:1151
msgid "Random Books"
msgstr "随机书籍"
-#: cps/web.py:1146
+#: cps/web.py:1166
msgid "Author list"
msgstr "作者列表"
-#: cps/web.py:1158 cps/web.py:1220 cps/web.py:1379 cps/web.py:1909
+#: cps/web.py:1178 cps/web.py:1241 cps/web.py:1401 cps/web.py:1961
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr "无法打开电子书。 文件不存在或者文件不可访问:"
-#: cps/templates/index.xml:64 cps/web.py:1204
+#: cps/templates/index.xml:64 cps/web.py:1225
msgid "Series list"
msgstr "丛书列表"
-#: cps/web.py:1218
+#: cps/web.py:1239
#, python-format
msgid "Series: %(serie)s"
msgstr "丛书: %(serie)s"
-#: cps/web.py:1251
+#: cps/web.py:1272
msgid "Available languages"
msgstr "可用语言"
-#: cps/web.py:1268
+#: cps/web.py:1289
#, python-format
msgid "Language: %(name)s"
msgstr "语言: %(name)s"
-#: cps/templates/index.xml:58 cps/web.py:1278
+#: cps/templates/index.xml:58 cps/web.py:1300
msgid "Category list"
msgstr "分类列表"
-#: cps/web.py:1292
+#: cps/web.py:1314
#, python-format
msgid "Category: %(name)s"
msgstr "分类: %(name)s"
-#: cps/web.py:1433
-msgid "Excecution permissions missing"
-msgstr "可执行权限缺失"
+#: cps/templates/layout.html:71 cps/web.py:1451
+msgid "Tasks"
+msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
msgid "Statistics"
msgstr "统计"
-#: cps/web.py:1544
+#: cps/web.py:1588
msgid ""
"Callback domain is not verified, please follow steps to verify domain in "
"google developer console"
msgstr ""
-#: cps/web.py:1620
+#: cps/web.py:1664
msgid "Server restarted, please reload page"
msgstr "服务器已重启,请刷新页面"
-#: cps/web.py:1623
+#: cps/web.py:1667
msgid "Performing shutdown of server, please close window"
msgstr "正在关闭服务器,请关闭窗口"
-#: cps/web.py:1641
+#: cps/web.py:1685
msgid "Update done"
msgstr "更新完成"
-#: cps/web.py:1698
+#: cps/web.py:1741 cps/web.py:1782
+#, python-format
+msgid "%s: %s"
+msgstr ""
+
+#: cps/web.py:1753
#, python-format
msgid "Published after %s"
msgstr ""
-#: cps/web.py:1703
+#: cps/web.py:1758
msgid "Published before "
msgstr ""
-#: cps/web.py:1749 cps/web.py:1762
+#: cps/web.py:1776
+#, python-format
+msgid "Rating <= %s"
+msgstr ""
+
+#: cps/web.py:1778
+#, python-format
+msgid "Rating >= %s"
+msgstr ""
+
+#: cps/web.py:1833 cps/web.py:1849
msgid "search"
msgstr "搜索"
#: cps/templates/index.xml:39 cps/templates/index.xml:42
-#: cps/templates/layout.html:143 cps/web.py:1864
+#: cps/templates/layout.html:146 cps/web.py:1916
msgid "Read Books"
msgstr "已读书籍"
#: cps/templates/index.xml:46 cps/templates/index.xml:49
-#: cps/templates/layout.html:145 cps/web.py:1867
+#: cps/templates/layout.html:148 cps/web.py:1919
msgid "Unread Books"
msgstr "未读书籍"
-#: cps/web.py:1919 cps/web.py:1921 cps/web.py:1923 cps/web.py:1935
+#: cps/web.py:1971 cps/web.py:1973 cps/web.py:1975 cps/web.py:1987
msgid "Read a Book"
msgstr "阅读一本书"
-#: cps/web.py:1991 cps/web.py:2744
+#: cps/web.py:2044 cps/web.py:2817
msgid "Please fill out all fields!"
msgstr "请填写所有字段"
-#: cps/web.py:1992 cps/web.py:2009 cps/web.py:2014 cps/web.py:2016
+#: cps/web.py:2045 cps/web.py:2062 cps/web.py:2067 cps/web.py:2069
msgid "register"
msgstr "注册"
-#: cps/web.py:2008
+#: cps/web.py:2061
msgid "An unknown error occured. Please try again later."
msgstr "发生一个未知错误。请稍后再试。"
-#: cps/web.py:2013
+#: cps/web.py:2066
msgid "This username or email address is already in use."
msgstr "此用户名或邮箱已被使用。"
-#: cps/web.py:2030 cps/web.py:2126
+#: cps/web.py:2083 cps/web.py:2179
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您现在已以'%(nickname)s'身份登录"
-#: cps/web.py:2035
+#: cps/web.py:2088
msgid "Wrong Username or Password"
msgstr "用户名或密码错误"
-#: cps/web.py:2041 cps/web.py:2062
+#: cps/web.py:2094 cps/web.py:2115
msgid "login"
msgstr "登录"
-#: cps/web.py:2074 cps/web.py:2105
+#: cps/web.py:2127 cps/web.py:2158
msgid "Token not found"
msgstr "找不到Token"
-#: cps/web.py:2082 cps/web.py:2113
+#: cps/web.py:2135 cps/web.py:2166
msgid "Token has expired"
msgstr "Token已过期"
-#: cps/web.py:2090
+#: cps/web.py:2143
msgid "Success! Please return to your device"
msgstr "成功!请返回您的设备"
-#: cps/web.py:2140
+#: cps/web.py:2193
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱..."
-#: cps/web.py:2144
+#: cps/web.py:2197
#, python-format
-msgid "Book successfully send to %(kindlemail)s"
-msgstr "此书已被成功发给 %(kindlemail)s"
+msgid "Book successfully queued for sending to %(kindlemail)s"
+msgstr ""
-#: cps/web.py:2148
+#: cps/web.py:2201
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr "发送这本书的时候出现错误: %(res)s"
-#: cps/web.py:2150 cps/web.py:2832
+#: cps/web.py:2203 cps/web.py:2905
msgid "Please configure your kindle email address first..."
msgstr "请先配置您的kindle电子邮箱地址..."
-#: cps/web.py:2194
+#: cps/web.py:2247
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "此书已被添加到书架: %(sname)s"
-#: cps/web.py:2232
+#: cps/web.py:2285
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "此书已从书架 %(sname)s 中删除"
-#: cps/web.py:2238
+#: cps/web.py:2291
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2258 cps/web.py:2282
+#: cps/web.py:2311 cps/web.py:2335
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr "已存在书架 '%(title)s'。"
-#: cps/web.py:2263
+#: cps/web.py:2316
#, python-format
msgid "Shelf %(title)s created"
msgstr "书架 %(title)s 已被创建"
-#: cps/web.py:2265 cps/web.py:2293
+#: cps/web.py:2318 cps/web.py:2346
msgid "There was an error"
msgstr "发生错误"
-#: cps/web.py:2266 cps/web.py:2268
+#: cps/web.py:2319 cps/web.py:2321
msgid "create a shelf"
msgstr "创建书架"
-#: cps/web.py:2291
+#: cps/web.py:2344
#, python-format
msgid "Shelf %(title)s changed"
msgstr "书架 %(title)s 已被修改"
-#: cps/web.py:2294 cps/web.py:2296
+#: cps/web.py:2347 cps/web.py:2349
msgid "Edit a shelf"
msgstr "编辑书架"
-#: cps/web.py:2317
+#: cps/web.py:2370
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr "成功删除书架 %(name)s"
-#: cps/web.py:2339
+#: cps/web.py:2392
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "书架: '%(name)s'"
-#: cps/web.py:2342
+#: cps/web.py:2395
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "打开书架出错。书架不存在或不可访问"
-#: cps/web.py:2373
+#: cps/web.py:2426
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "修改书架 '%(name)s' 顺序"
-#: cps/web.py:2444
+#: cps/web.py:2498
msgid "Found an existing account for this email address."
msgstr "找到已使用此邮箱的账号。"
-#: cps/web.py:2446 cps/web.py:2450
+#: cps/web.py:2500 cps/web.py:2503
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的资料"
-#: cps/web.py:2447
+#: cps/web.py:2501
msgid "Profile updated"
msgstr "资料已更新"
-#: cps/web.py:2459
+#: cps/web.py:2513
msgid "Unknown"
msgstr ""
-#: cps/web.py:2472
+#: cps/web.py:2526
msgid "Admin page"
msgstr "管理页"
-#: cps/web.py:2560 cps/web.py:2692
+#: cps/web.py:2604 cps/web.py:2766
msgid "Calibre-web configuration updated"
msgstr "Calibre-web配置已更新"
-#: cps/templates/admin.html:80 cps/web.py:2565
+#: cps/templates/admin.html:83 cps/web.py:2617
msgid "UI Configuration"
msgstr ""
-#: cps/web.py:2581
+#: cps/web.py:2633
msgid "Import of optional Google Drive requirements missing"
msgstr ""
-#: cps/web.py:2584
+#: cps/web.py:2636
msgid "client_secrets.json is missing or not readable"
msgstr ""
-#: cps/web.py:2589 cps/web.py:2617
+#: cps/web.py:2641 cps/web.py:2669
msgid "client_secrets.json is not configured for web application"
msgstr ""
-#: cps/templates/admin.html:79 cps/web.py:2620 cps/web.py:2645 cps/web.py:2656
-#: cps/web.py:2680 cps/web.py:2700 cps/web.py:2707 cps/web.py:2725
+#: cps/templates/admin.html:82 cps/web.py:2672 cps/web.py:2698 cps/web.py:2710
+#: cps/web.py:2753 cps/web.py:2774 cps/web.py:2781 cps/web.py:2798
msgid "Basic Configuration"
msgstr "基本配置"
-#: cps/web.py:2642
+#: cps/web.py:2695
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2653
+#: cps/web.py:2707
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2677
+#: cps/web.py:2750
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2704
+#: cps/web.py:2778
msgid "DB location is not valid, please enter correct path"
msgstr "DB位置无效,请输入正确路径"
-#: cps/templates/admin.html:34 cps/web.py:2746 cps/web.py:2802
+#: cps/templates/admin.html:34 cps/web.py:2819 cps/web.py:2875
msgid "Add new user"
msgstr "添加新用户"
-#: cps/web.py:2792
+#: cps/web.py:2865
#, python-format
msgid "User '%(user)s' created"
msgstr "用户 '%(user)s' 已被创建"
-#: cps/web.py:2796
+#: cps/web.py:2869
msgid "Found an existing account for this email address or nickname."
msgstr "已存在使用此邮箱或昵称的账号。"
-#: cps/web.py:2820
+#: cps/web.py:2893
msgid "Mail settings updated"
msgstr "邮箱设置已更新"
-#: cps/web.py:2827
+#: cps/web.py:2900
#, python-format
msgid "Test E-Mail successfully send to %(kindlemail)s"
msgstr "测试邮件已成功发送到 %(kindlemail)s"
-#: cps/web.py:2830
+#: cps/web.py:2903
#, python-format
msgid "There was an error sending the Test E-Mail: %(res)s"
msgstr "发送测试邮件时发生错误: %(res)s"
-#: cps/web.py:2834
+#: cps/web.py:2907
msgid "E-Mail settings updated"
msgstr "E-Mail 设置已更新"
-#: cps/web.py:2835
+#: cps/web.py:2908
msgid "Edit mail settings"
msgstr "编辑邮箱设置"
-#: cps/web.py:2865
+#: cps/web.py:2938
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户 '%(nick)s' 已被删除"
-#: cps/web.py:2974
+#: cps/web.py:3047
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户 '%(nick)s' 已被更新"
-#: cps/web.py:2977
+#: cps/web.py:3050
msgid "An unknown error occured."
msgstr "发生未知错误。"
-#: cps/web.py:2980
+#: cps/web.py:3052
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
-#: cps/web.py:2996
+#: cps/web.py:3069
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr "打开电子书出错。文件不存在或不可访问"
-#: cps/web.py:3011 cps/web.py:3222 cps/web.py:3227 cps/web.py:3395
+#: cps/web.py:3084 cps/web.py:3316 cps/web.py:3321 cps/web.py:3478
msgid "edit metadata"
msgstr "编辑元数据"
-#: cps/web.py:3021 cps/web.py:3272
+#: cps/web.py:3095 cps/web.py:3346
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr "不能上传后缀为 \"%s\" 的文件到此服务器"
-#: cps/web.py:3032
-#, python-format
-msgid "Failed to store file %s."
-msgstr ""
-
-#: cps/web.py:3056 cps/web.py:3060
-msgid "unknown"
-msgstr "未知"
-
-#: cps/web.py:3081
-msgid "Cover is not a jpg file, can't save"
-msgstr ""
-
-#: cps/web.py:3231
-msgid "Error editing book, please check logfile for details"
-msgstr ""
-
-#: cps/web.py:3278
+#: cps/web.py:3098 cps/web.py:3352
msgid "File to be uploaded must have an extension"
msgstr "要上传的文件必须有一个后缀"
-#: cps/web.py:3297
+#: cps/web.py:3110 cps/web.py:3372
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr "创建路径 %s 失败(权限拒绝)。"
-#: cps/web.py:3302
+#: cps/web.py:3115
+#, python-format
+msgid "Failed to store file %s."
+msgstr ""
+
+#: cps/web.py:3131
+#, python-format
+msgid "File format %s added to %s"
+msgstr ""
+
+#: cps/web.py:3147 cps/web.py:3151
+msgid "unknown"
+msgstr "未知"
+
+#: cps/web.py:3173
+msgid "Cover is not a jpg file, can't save"
+msgstr ""
+
+#: cps/web.py:3325
+msgid "Error editing book, please check logfile for details"
+msgstr ""
+
+#: cps/web.py:3377
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr "存储文件 %s 失败(权限拒绝)。"
-#: cps/web.py:3307
+#: cps/web.py:3382
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr "删除文件 %s 失败(权限拒绝)。"
+#: cps/web.py:3464
+#, python-format
+msgid "File %s uploaded"
+msgstr ""
+
+#: cps/worker.py:212 cps/worker.py:357
+msgid "Started"
+msgstr ""
+
+#: cps/worker.py:221
+#, python-format
+msgid "E-Mail: %stitle"
+msgstr ""
+
+#: cps/worker.py:229
+#, python-format
+msgid "Convertertool %(converter)s not found"
+msgstr ""
+
+#: cps/worker.py:248
+#, python-format
+msgid "Ebook-converter failed: %s"
+msgstr ""
+
+#: cps/worker.py:258
+#, python-format
+msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgstr "Kindlegen 因为错误 %(error)s 失败。消息: %(message)s"
+
+#: cps/worker.py:291 cps/worker.py:346 cps/worker.py:409
+msgid "Finished"
+msgstr ""
+
+#: cps/worker.py:314 cps/worker.py:332
+msgid "Waiting"
+msgstr ""
+
+#: cps/worker.py:364
+msgid "This email has been sent via calibre web."
+msgstr "此邮件由calibre web发送"
+
+#: cps/worker.py:435
+msgid "Failed"
+msgstr ""
+
#: cps/templates/admin.html:4
msgid "User list"
msgstr "用户列表"
@@ -543,7 +608,7 @@ msgstr ""
msgid "DLS"
msgstr ""
-#: cps/templates/admin.html:12 cps/templates/layout.html:71
+#: cps/templates/admin.html:12 cps/templates/layout.html:74
msgid "Admin"
msgstr "管理"
@@ -597,96 +662,100 @@ msgid "Change SMTP settings"
msgstr "修改SMTP设置"
#: cps/templates/admin.html:57
+msgid "Edit allowed domains"
+msgstr ""
+
+#: cps/templates/admin.html:60
msgid "Configuration"
msgstr "配置"
-#: cps/templates/admin.html:60
+#: cps/templates/admin.html:63
msgid "Calibre DB dir"
msgstr "Calibre DB目录"
-#: cps/templates/admin.html:61 cps/templates/config_edit.html:100
+#: cps/templates/admin.html:64 cps/templates/config_edit.html:106
msgid "Log Level"
msgstr "日志级别"
-#: cps/templates/admin.html:62
+#: cps/templates/admin.html:65
msgid "Port"
msgstr "端口"
-#: cps/templates/admin.html:63 cps/templates/config_view_edit.html:23
+#: cps/templates/admin.html:66 cps/templates/config_view_edit.html:23
msgid "Books per page"
msgstr "每页书籍数"
-#: cps/templates/admin.html:64
+#: cps/templates/admin.html:67
msgid "Uploading"
msgstr "上传"
-#: cps/templates/admin.html:65
+#: cps/templates/admin.html:68
msgid "Public registration"
msgstr "开放注册"
-#: cps/templates/admin.html:66
+#: cps/templates/admin.html:69
msgid "Anonymous browsing"
msgstr "匿名浏览"
-#: cps/templates/admin.html:67 cps/templates/remote_login.html:4
+#: cps/templates/admin.html:70 cps/templates/remote_login.html:4
msgid "Remote Login"
msgstr "远程登录"
-#: cps/templates/admin.html:81
+#: cps/templates/admin.html:84
msgid "Administration"
msgstr "管理"
-#: cps/templates/admin.html:83
+#: cps/templates/admin.html:85
msgid "Current commit timestamp"
msgstr "当前提交时间戳"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:86
msgid "Newest commit timestamp"
msgstr "最新提交时间戳"
-#: cps/templates/admin.html:86
+#: cps/templates/admin.html:88
msgid "Reconnect to Calibre DB"
msgstr "重新连接到Calibre数据库"
-#: cps/templates/admin.html:87
+#: cps/templates/admin.html:89
msgid "Restart Calibre-web"
msgstr "重启 Calibre-web"
-#: cps/templates/admin.html:88
+#: cps/templates/admin.html:90
msgid "Stop Calibre-web"
msgstr "停止 Calibre-web"
-#: cps/templates/admin.html:89
+#: cps/templates/admin.html:91
msgid "Check for update"
msgstr "检查更新"
-#: cps/templates/admin.html:90
+#: cps/templates/admin.html:92
msgid "Perform Update"
msgstr "执行更新"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:101
msgid "Do you really want to restart Calibre-web?"
msgstr "您确定要重启 Calibre-web 吗?"
-#: cps/templates/admin.html:105 cps/templates/admin.html:119
-#: cps/templates/admin.html:140 cps/templates/shelf.html:59
+#: cps/templates/admin.html:106 cps/templates/admin.html:120
+#: cps/templates/admin.html:141 cps/templates/shelf.html:59
msgid "Ok"
msgstr "确定"
-#: cps/templates/admin.html:106 cps/templates/admin.html:120
-#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
-#: cps/templates/config_edit.html:168 cps/templates/config_view_edit.html:164
+#: cps/templates/admin.html:107 cps/templates/admin.html:121
+#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166
+#: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164
#: cps/templates/email_edit.html:36 cps/templates/shelf.html:60
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
#: cps/templates/user_edit.html:147
msgid "Back"
msgstr "后退"
-#: cps/templates/admin.html:118
+#: cps/templates/admin.html:119
msgid "Do you really want to stop Calibre-web?"
msgstr "您确定要关闭 Calibre-web 吗?"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:132
msgid "Updating, please do not reload page"
msgstr "正在更新,请不要刷新页面"
@@ -706,132 +775,136 @@ msgstr ""
msgid "Delete Book"
msgstr "删除书籍"
-#: cps/templates/book_edit.html:22 cps/templates/search_form.html:6
+#: cps/templates/book_edit.html:19
+msgid "Delete formats:"
+msgstr ""
+
+#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165
+msgid "Delete"
+msgstr "删除"
+
+#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6
msgid "Book Title"
msgstr "书名"
-#: cps/templates/book_edit.html:26 cps/templates/book_edit.html:216
-#: cps/templates/book_edit.html:234 cps/templates/search_form.html:10
+#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225
+#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10
msgid "Author"
msgstr "作者"
-#: cps/templates/book_edit.html:30 cps/templates/book_edit.html:221
-#: cps/templates/book_edit.html:236
+#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230
+#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106
msgid "Description"
msgstr "简介"
-#: cps/templates/book_edit.html:34 cps/templates/search_form.html:34
+#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33
msgid "Tags"
msgstr "标签"
-#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
-#: cps/templates/search_form.html:54
+#: cps/templates/book_edit.html:48 cps/templates/layout.html:157
+#: cps/templates/search_form.html:53
msgid "Series"
msgstr "丛书"
-#: cps/templates/book_edit.html:43
+#: cps/templates/book_edit.html:52
msgid "Series id"
msgstr "丛书ID"
-#: cps/templates/book_edit.html:47
+#: cps/templates/book_edit.html:56
msgid "Rating"
msgstr "评分"
-#: cps/templates/book_edit.html:51
+#: cps/templates/book_edit.html:60
msgid ""
"Cover URL (jpg, cover is downloaded and stored in database, field is "
"afterwards empty again)"
msgstr ""
-#: cps/templates/book_edit.html:56 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:65 cps/templates/detail.html:131
msgid "Publishing date"
msgstr "出版日期"
-#: cps/templates/book_edit.html:63 cps/templates/user_edit.html:27
+#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:27
msgid "Language"
msgstr "语言"
-#: cps/templates/book_edit.html:74
+#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117
msgid "Yes"
msgstr "确认"
-#: cps/templates/book_edit.html:75
+#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118
msgid "No"
msgstr ""
-#: cps/templates/book_edit.html:121
+#: cps/templates/book_edit.html:130
msgid "Upload format"
msgstr ""
-#: cps/templates/book_edit.html:130
+#: cps/templates/book_edit.html:139
msgid "view book after edit"
msgstr "编辑后查看书籍"
-#: cps/templates/book_edit.html:133 cps/templates/book_edit.html:169
+#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178
msgid "Get metadata"
msgstr "获取元数据"
-#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:166
+#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:163 cps/templates/login.html:20
-#: cps/templates/search_form.html:96 cps/templates/shelf_edit.html:17
+#: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17
#: cps/templates/user_edit.html:145
msgid "Submit"
msgstr "提交"
-#: cps/templates/book_edit.html:148
+#: cps/templates/book_edit.html:157
msgid "Are really you sure?"
msgstr "您真的确认?"
-#: cps/templates/book_edit.html:151
+#: cps/templates/book_edit.html:160
msgid "Book will be deleted from Calibre database"
msgstr "书籍会被从Calibre数据库和硬盘中删除"
-#: cps/templates/book_edit.html:152
+#: cps/templates/book_edit.html:161
msgid "and from hard disk"
msgstr ""
-#: cps/templates/book_edit.html:156
-msgid "Delete"
-msgstr "删除"
-
-#: cps/templates/book_edit.html:172
+#: cps/templates/book_edit.html:181
msgid "Keyword"
msgstr "关键字"
-#: cps/templates/book_edit.html:173
+#: cps/templates/book_edit.html:182
msgid " Search keyword "
msgstr "搜索关键字"
-#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
+#: cps/templates/book_edit.html:184 cps/templates/layout.html:46
msgid "Go!"
msgstr "走起!"
-#: cps/templates/book_edit.html:179
+#: cps/templates/book_edit.html:188
msgid "Click the cover to load metadata to the form"
msgstr "点击封面加载元数据到表单"
-#: cps/templates/book_edit.html:191 cps/templates/book_edit.html:231
+#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240
msgid "Loading..."
msgstr "加载中..."
-#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
+#: cps/templates/book_edit.html:205 cps/templates/layout.html:221
msgid "Close"
msgstr "关闭"
-#: cps/templates/book_edit.html:218 cps/templates/book_edit.html:235
+#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244
#: cps/templates/detail.html:126 cps/templates/search_form.html:14
msgid "Publisher"
msgstr "出版社"
-#: cps/templates/book_edit.html:223 cps/templates/book_edit.html:237
+#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246
msgid "Source"
msgstr "来源"
-#: cps/templates/book_edit.html:232
+#: cps/templates/book_edit.html:241
msgid "Search error!"
msgstr "搜索错误"
-#: cps/templates/book_edit.html:233
+#: cps/templates/book_edit.html:242
msgid "No Result! Please try anonther keyword."
msgstr "没有结果!请尝试别的关键字."
@@ -856,78 +929,106 @@ msgid "Authenticate Google Drive"
msgstr ""
#: cps/templates/config_edit.html:40
+msgid "Please finish Google Drive setup after login"
+msgstr ""
+
+#: cps/templates/config_edit.html:44
msgid "Google Drive Calibre folder"
msgstr ""
-#: cps/templates/config_edit.html:48
+#: cps/templates/config_edit.html:52
msgid "Metadata Watch Channel ID"
msgstr ""
-#: cps/templates/config_edit.html:51
+#: cps/templates/config_edit.html:55
msgid "Revoke"
msgstr ""
-#: cps/templates/config_edit.html:67
+#: cps/templates/config_edit.html:73
msgid "Server Configuration"
msgstr ""
-#: cps/templates/config_edit.html:74
+#: cps/templates/config_edit.html:80
msgid "Server Port"
msgstr "服务器端口"
-#: cps/templates/config_edit.html:78
+#: cps/templates/config_edit.html:84
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:82
+#: cps/templates/config_edit.html:88
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:93
+#: cps/templates/config_edit.html:99
msgid "Logfile Configuration"
msgstr ""
-#: cps/templates/config_edit.html:109
+#: cps/templates/config_edit.html:115
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:120
+#: cps/templates/config_edit.html:126
msgid "Feature Configuration"
msgstr ""
-#: cps/templates/config_edit.html:128
+#: cps/templates/config_edit.html:134
msgid "Enable uploading"
msgstr "启用上传"
-#: cps/templates/config_edit.html:132
+#: cps/templates/config_edit.html:138
msgid "Enable anonymous browsing"
msgstr "启用匿名浏览"
-#: cps/templates/config_edit.html:136
+#: cps/templates/config_edit.html:142
msgid "Enable public registration"
msgstr "启用注册"
-#: cps/templates/config_edit.html:140
+#: cps/templates/config_edit.html:146
msgid "Enable remote login (\"magic link\")"
msgstr "启用远程登录 (\"魔法链接\")"
-#: cps/templates/config_edit.html:145
+#: cps/templates/config_edit.html:151
msgid "Use"
msgstr ""
-#: cps/templates/config_edit.html:146
+#: cps/templates/config_edit.html:152
msgid "Obtain an API Key"
msgstr ""
-#: cps/templates/config_edit.html:150
+#: cps/templates/config_edit.html:156
msgid "Goodreads API Key"
msgstr ""
-#: cps/templates/config_edit.html:154
+#: cps/templates/config_edit.html:160
msgid "Goodreads API Secret"
msgstr ""
-#: cps/templates/config_edit.html:171 cps/templates/layout.html:79
+#: cps/templates/config_edit.html:173
+msgid "E-Book converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:181
+msgid "No converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:183
+msgid "Use Kindlegen"
+msgstr ""
+
+#: cps/templates/config_edit.html:185
+msgid "Use calibre's ebook converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:189
+msgid "E-Book converter settings"
+msgstr ""
+
+#: cps/templates/config_edit.html:193
+msgid "Path to convertertool"
+msgstr ""
+
+#: cps/templates/config_edit.html:209 cps/templates/layout.html:82
#: cps/templates/login.html:4
msgid "Login"
msgstr "登录"
@@ -936,8 +1037,8 @@ msgstr "登录"
msgid "View Configuration"
msgstr ""
-#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:130
-#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
+#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:133
+#: cps/templates/layout.html:134 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr "标题"
@@ -1109,7 +1210,7 @@ msgstr "保存设置"
msgid "Save settings and send Test E-Mail"
msgstr "保存设置并发送测试邮件"
-#: cps/templates/feed.xml:20 cps/templates/layout.html:202
+#: cps/templates/feed.xml:20 cps/templates/layout.html:205
msgid "Next"
msgstr "下一个"
@@ -1126,7 +1227,7 @@ msgstr "发现(随机书籍)"
msgid "Start"
msgstr "开始"
-#: cps/templates/index.xml:14 cps/templates/layout.html:136
+#: cps/templates/index.xml:14 cps/templates/layout.html:139
msgid "Hot Books"
msgstr "热门书籍"
@@ -1134,7 +1235,7 @@ msgstr "热门书籍"
msgid "Popular publications from this catalog based on Downloads."
msgstr "基于下载数的热门书籍"
-#: cps/templates/index.xml:20 cps/templates/layout.html:139
+#: cps/templates/index.xml:20 cps/templates/layout.html:142
msgid "Best rated Books"
msgstr "最高评分书籍"
@@ -1154,7 +1255,7 @@ msgstr "最新书籍"
msgid "Show Random Books"
msgstr "显示随机书籍"
-#: cps/templates/index.xml:52 cps/templates/layout.html:157
+#: cps/templates/index.xml:52 cps/templates/layout.html:160
msgid "Authors"
msgstr "作者"
@@ -1170,7 +1271,7 @@ msgstr "书籍按分类排序"
msgid "Books ordered by series"
msgstr "书籍按丛书排序"
-#: cps/templates/index.xml:70 cps/templates/layout.html:163
+#: cps/templates/index.xml:70 cps/templates/layout.html:166
msgid "Public Shelves"
msgstr "公开书架"
@@ -1178,7 +1279,7 @@ msgstr "公开书架"
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
-#: cps/templates/index.xml:77 cps/templates/layout.html:167
+#: cps/templates/index.xml:77 cps/templates/layout.html:170
msgid "Your Shelves"
msgstr "您的书架"
@@ -1194,80 +1295,80 @@ msgstr "切换导航"
msgid "Advanced Search"
msgstr "高级搜索"
-#: cps/templates/layout.html:75
+#: cps/templates/layout.html:78
msgid "Logout"
msgstr "注销"
-#: cps/templates/layout.html:80 cps/templates/register.html:18
+#: cps/templates/layout.html:83 cps/templates/register.html:18
msgid "Register"
msgstr "注册"
-#: cps/templates/layout.html:105
+#: cps/templates/layout.html:108
msgid "Uploading..."
msgstr ""
-#: cps/templates/layout.html:106
+#: cps/templates/layout.html:109
msgid "please don't refresh the page"
msgstr ""
-#: cps/templates/layout.html:117
+#: cps/templates/layout.html:120
msgid "Browse"
msgstr "浏览"
-#: cps/templates/layout.html:119
+#: cps/templates/layout.html:122
msgid "Recently Added"
msgstr "最近添加"
-#: cps/templates/layout.html:124
+#: cps/templates/layout.html:127
msgid "Sorted Books"
msgstr "已排序书籍"
-#: cps/templates/layout.html:128 cps/templates/layout.html:129
-#: cps/templates/layout.html:130 cps/templates/layout.html:131
+#: cps/templates/layout.html:131 cps/templates/layout.html:132
+#: cps/templates/layout.html:133 cps/templates/layout.html:134
msgid "Sort By"
msgstr "排序"
-#: cps/templates/layout.html:128
+#: cps/templates/layout.html:131
msgid "Newest"
msgstr "最新"
-#: cps/templates/layout.html:129
+#: cps/templates/layout.html:132
msgid "Oldest"
msgstr "最旧"
-#: cps/templates/layout.html:130
+#: cps/templates/layout.html:133
msgid "Ascending"
msgstr "升序"
-#: cps/templates/layout.html:131
+#: cps/templates/layout.html:134
msgid "Descending"
msgstr "降序"
-#: cps/templates/layout.html:148
+#: cps/templates/layout.html:151
msgid "Discover"
msgstr "发现"
-#: cps/templates/layout.html:151
+#: cps/templates/layout.html:154
msgid "Categories"
msgstr "分类"
-#: cps/templates/layout.html:160 cps/templates/search_form.html:75
+#: cps/templates/layout.html:163 cps/templates/search_form.html:74
msgid "Languages"
msgstr "语言"
-#: cps/templates/layout.html:172
+#: cps/templates/layout.html:175
msgid "Create a Shelf"
msgstr "创建书架"
-#: cps/templates/layout.html:173 cps/templates/stats.html:3
+#: cps/templates/layout.html:176 cps/templates/stats.html:3
msgid "About"
msgstr "关于"
-#: cps/templates/layout.html:187
+#: cps/templates/layout.html:190
msgid "Previous"
msgstr ""
-#: cps/templates/layout.html:214
+#: cps/templates/layout.html:217
msgid "Book Details"
msgstr ""
@@ -1353,26 +1454,38 @@ msgstr "请尝试别的关键字"
msgid "Results for:"
msgstr "结果:"
-#: cps/templates/search_form.html:20
+#: cps/templates/search.html:12
+msgid "Search result to shelf"
+msgstr ""
+
+#: cps/templates/search_form.html:19
msgid "Publishing date from"
msgstr ""
-#: cps/templates/search_form.html:27
+#: cps/templates/search_form.html:26
msgid "Publishing date to"
msgstr ""
-#: cps/templates/search_form.html:44
+#: cps/templates/search_form.html:43
msgid "Exclude Tags"
msgstr "排除标签"
-#: cps/templates/search_form.html:64
+#: cps/templates/search_form.html:63
msgid "Exclude Series"
msgstr "排除丛书"
-#: cps/templates/search_form.html:85
+#: cps/templates/search_form.html:84
msgid "Exclude Languages"
msgstr "排除语言"
+#: cps/templates/search_form.html:97
+msgid "Rating bigger than"
+msgstr ""
+
+#: cps/templates/search_form.html:101
+msgid "Rating less than"
+msgstr ""
+
#: cps/templates/shelf.html:7
msgid "Delete this Shelf"
msgstr "删除此书架"
@@ -1433,6 +1546,42 @@ msgstr "程序库"
msgid "Installed Version"
msgstr "已安装版本"
+#: cps/templates/tasks.html:7
+msgid "Tasks list"
+msgstr ""
+
+#: cps/templates/tasks.html:12
+msgid "User"
+msgstr ""
+
+#: cps/templates/tasks.html:14
+msgid "Task"
+msgstr ""
+
+#: cps/templates/tasks.html:15
+msgid "Status"
+msgstr ""
+
+#: cps/templates/tasks.html:16
+msgid "Progress"
+msgstr ""
+
+#: cps/templates/tasks.html:17
+msgid "Runtime"
+msgstr ""
+
+#: cps/templates/tasks.html:18
+msgid "Starttime"
+msgstr ""
+
+#: cps/templates/tasks.html:24
+msgid "Delete finished tasks"
+msgstr ""
+
+#: cps/templates/tasks.html:25
+msgid "Hide all tasks"
+msgstr ""
+
#: cps/templates/user_edit.html:23
msgid "Kindle E-Mail"
msgstr ""
diff --git a/cps/web.py b/cps/web.py
index d23a708c..3539eef9 100755
--- a/cps/web.py
+++ b/cps/web.py
@@ -48,7 +48,6 @@ from flask_principal import __version__ as flask_principalVersion
from flask_babel import Babel
from flask_babel import gettext as _
import pytz
-# from tzlocal import get_localzone
import requests
from werkzeug.security import generate_password_hash, check_password_hash
from werkzeug.datastructures import Headers
@@ -3088,32 +3087,47 @@ def edit_book(book_id):
edited_books_id = set()
# Check and handle Uploaded file
- if 'btn-upload-format' in request.files and '.' in request.files['btn-upload-format'].filename:
+ if 'btn-upload-format' in request.files:
requested_file = request.files['btn-upload-format']
- file_ext = requested_file.filename.rsplit('.', 1)[-1].lower()
- if file_ext not in ALLOWED_EXTENSIONS:
- flash(_('File extension "%s" is not allowed to be uploaded to this server' % file_ext), category="error")
- return redirect(url_for('index'))
+ if '.' in requested_file.filename:
+ file_ext = requested_file.filename.rsplit('.', 1)[-1].lower()
+ if file_ext not in ALLOWED_EXTENSIONS:
+ flash(_('File extension "%s" is not allowed to be uploaded to this server' % file_ext), category="error")
+ return redirect(url_for('show_book', book_id=book.id))
+ else:
+ flash(_('File to be uploaded must have an extension'), category="error")
+ return redirect(url_for('show_book', book_id=book.id))
file_name = book.path.rsplit('/', 1)[-1]
- filepath = config.config_calibre_dir + os.sep + book.path
- filepath = os.path.normpath(filepath)
- saved_filename = filepath + os.sep + file_name + '.' + file_ext
+ filepath = os.path.normpath(os.path.join(config.config_calibre_dir, book.path))
+ saved_filename = os.path.join(filepath, file_name + '.' + file_ext)
+ # check if file path exists, otherwise create it, copy file to calibre path and delete temp file
+ if not os.path.exists(filepath):
+ try:
+ os.makedirs(filepath)
+ except OSError:
+ flash(_(u"Failed to create path %s (Permission denied)." % filepath), category="error")
+ return redirect(url_for('show_book', book_id=book.id))
try:
requested_file.save(saved_filename)
except OSError:
flash(_(u"Failed to store file %s." % saved_filename), category="error")
- return redirect(url_for('index'))
+ return redirect(url_for('show_book', book_id=book.id))
file_size = os.path.getsize(saved_filename)
is_format = db.session.query(db.Data).filter(db.Data.book == book_id).filter(db.Data.format == file_ext.upper()).first()
+
+ # Format entry already exists, no need to update the database
if is_format:
- # Format entry already exists, no need to update the database
app.logger.info('Book format already existing')
else:
db_format = db.Data(book_id, file_ext.upper(), file_size, file_name)
db.session.add(db_format)
+ db.session.commit()
+ db.session.connection().connection.connection.create_function("title_sort", 1, db.title_sort)
+
+ # Queue uploader info
uploadText=_(u"File format %s added to %s" % (file_ext.upper(),book.title))
helper.global_WorkerThread.add_upload(current_user.nickname,
""+ uploadText + "")
@@ -3148,6 +3162,7 @@ def edit_book(book_id):
for b in edited_books_id:
error = helper.update_dir_stucture(b, config.config_calibre_dir)
if error: # stop on error
+ flash(error, category="error")
break
if not error:
@@ -3289,6 +3304,8 @@ def edit_book(book_id):
input_tags = list(map(lambda it: it.strip(), input_tags))
modify_database_object(input_tags, getattr(book, cc_string), db.cc_classes[c.id], db.session, 'custom')
db.session.commit()
+ if config.config_use_google_drive:
+ gdriveutils.updateGdriveCalibreFromLocal()
author_names = []
for author in book.authors:
author_names.append(author.name)
@@ -3320,6 +3337,8 @@ def upload():
# create the function for sorting...
db.session.connection().connection.connection.create_function("title_sort", 1, db.title_sort)
db.session.connection().connection.connection.create_function('uuid4', 0, lambda: str(uuid4()))
+
+ # check if file extension is correct
if '.' in requested_file.filename:
file_ext = requested_file.filename.rsplit('.', 1)[-1].lower()
if file_ext not in ALLOWED_EXTENSIONS:
@@ -3332,8 +3351,9 @@ def upload():
else:
flash(_('File to be uploaded must have an extension'), category="error")
return redirect(url_for('index'))
+
+ # extract metadata from file
meta = uploader.upload(requested_file)
-
title = meta.title
author = meta.author
tags = meta.tags
@@ -3341,10 +3361,10 @@ def upload():
series_index = meta.series_id
title_dir = helper.get_valid_filename(title)
author_dir = helper.get_valid_filename(author)
- data_name = title_dir
- filepath = config.config_calibre_dir + os.sep + author_dir + os.sep + title_dir
- saved_filename = filepath + os.sep + data_name + meta.extension.lower()
+ filepath = os.path.join(config.config_calibre_dir, author_dir, title_dir)
+ saved_filename = os.path.join(filepath, title_dir + meta.extension.lower())
+ # check if file path exists, otherwise create it, copy file to calibre path and delete temp file
if not os.path.exists(filepath):
try:
os.makedirs(filepath)
@@ -3361,22 +3381,22 @@ def upload():
except OSError:
flash(_(u"Failed to delete file %s (Permission denied)." % meta.file_path), category="warning")
- file_size = os.path.getsize(saved_filename)
if meta.cover is None:
has_cover = 0
- basedir = config.get_main_dir # os.path.dirname(__file__)
- copyfile(os.path.join(basedir, "cps/static/generic_cover.jpg"), os.path.join(filepath, "cover.jpg"))
+ copyfile(os.path.join(config.get_main_dir, "cps/static/generic_cover.jpg"), os.path.join(filepath, "cover.jpg"))
else:
has_cover = 1
move(meta.cover, os.path.join(filepath, "cover.jpg"))
+ # handle authors
is_author = db.session.query(db.Authors).filter(db.Authors.name == author).first()
if is_author:
db_author = is_author
else:
db_author = db.Authors(author, helper.get_sorted_author(author), "")
db.session.add(db_author)
-
+
+ # handle series
db_series = None
is_series = db.session.query(db.Series).filter(db.Series.name == series).first()
if is_series:
@@ -3396,6 +3416,7 @@ def upload():
else:
db_language = db.Languages(input_language)
db.session.add(db_language)
+
# combine path and normalize path from windows systems
path = os.path.join(author_dir, title_dir).replace('\\', '/')
db_book = db.Books(title, "", db_author.sort, datetime.datetime.now(), datetime.datetime(101, 1, 1),
@@ -3405,42 +3426,47 @@ def upload():
db_book.series.append(db_series)
if db_language is not None:
db_book.languages.append(db_language)
- db_data = db.Data(db_book, meta.extension.upper()[1:], file_size, data_name)
-
+ file_size = os.path.getsize(saved_filename)
+ db_data = db.Data(db_book, meta.extension.upper()[1:], file_size, title_dir)
+
+ # handle tags
input_tags = tags.split(',')
input_tags = list(map(lambda it: it.strip(), input_tags))
if input_tags[0] !="":
modify_database_object(input_tags, db_book.tags, db.Tags, db.session, 'tags')
-
+
+ # flush content, get db_book.id available
db_book.data.append(db_data)
-
db.session.add(db_book)
- db.session.flush() # flush content get db_book.id available
+ db.session.flush()
# add comment
book_id = db_book.id
upload_comment = Markup(meta.description).unescape()
if upload_comment != "":
db.session.add(db.Comments(upload_comment, book_id))
-
+
+ # save data to database, reread data
db.session.commit()
db.session.connection().connection.connection.create_function("title_sort", 1, db.title_sort)
-
book = db.session.query(db.Books) \
.filter(db.Books.id == book_id).filter(common_filters()).first()
+ # upload book to gdrive if nesseccary and add "(bookid)" to folder name
if config.config_use_google_drive:
gdriveutils.updateGdriveCalibreFromLocal()
-
error = helper.update_dir_stucture(book.id, config.config_calibre_dir)
-
+ db.session.commit()
+ if config.config_use_google_drive:
+ gdriveutils.updateGdriveCalibreFromLocal()
if error:
flash(error, category="error")
- uploadText=_(u"File %s uploaded" % book.title)
+ uploadText=_(u"File %s uploaded" % book.title)
helper.global_WorkerThread.add_upload(current_user.nickname,
"" + uploadText + "")
- if db_language is not None: # display Full name instead of iso639.part3
+ # create data for displaying display Full language name instead of iso639.part3language
+ if db_language is not None:
book.languages[0].language_name = _(meta.languages)
author_names = []
for author in db_book.authors:
diff --git a/messages.pot b/messages.pot
index 1af23932..9d2ed362 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-07-15 15:03+0200\n"
+"POT-Creation-Date: 2018-08-18 12:11+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,501 +17,566 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.5.1\n"
-#: cps/book_formats.py:123 cps/book_formats.py:127 cps/web.py:1422
+#: cps/book_formats.py:128 cps/book_formats.py:132 cps/book_formats.py:136
+#: cps/converter.py:11 cps/converter.py:27
msgid "not installed"
msgstr ""
-#: cps/helper.py:68
-#, python-format
-msgid "kindlegen binary %(kindlepath)s not found"
+#: cps/converter.py:22 cps/converter.py:38
+msgid "Excecution permissions missing"
msgstr ""
-#: cps/helper.py:74
+#: cps/helper.py:54
#, python-format
msgid "epub format not found for book id: %(book)d"
msgstr ""
-#: cps/helper.py:84
-msgid "kindlegen failed, no execution permissions"
-msgstr ""
-
-#: cps/helper.py:99
+#: cps/helper.py:70
#, python-format
-msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgid "Convert: %s"
msgstr ""
-#: cps/helper.py:178
-#, python-format
-msgid "Failed to send mail: %s"
-msgstr ""
-
-#: cps/helper.py:185
+#: cps/helper.py:79
msgid "Calibre-web test email"
msgstr ""
-#: cps/helper.py:186 cps/helper.py:198
-msgid "This email has been sent via calibre web."
+#: cps/helper.py:80
+msgid "Test E-Mail"
msgstr ""
-#: cps/helper.py:195 cps/templates/detail.html:44
-msgid "Send to Kindle"
-msgstr ""
-
-#: cps/helper.py:215 cps/helper.py:229
+#: cps/helper.py:102 cps/helper.py:112
msgid "Could not find any formats suitable for sending by email"
msgstr ""
-#: cps/helper.py:342
+#: cps/helper.py:114 cps/templates/detail.html:44 cps/worker.py:219
+msgid "Send to Kindle"
+msgstr ""
+
+#: cps/helper.py:115
+#, python-format
+msgid "E-Mail: %s"
+msgstr ""
+
+#: cps/helper.py:117
+msgid "The requested file could not be read. Maybe wrong permissions?"
+msgstr ""
+
+#: cps/helper.py:212
#, python-format
msgid "Rename title from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:351
+#: cps/helper.py:221
#, python-format
msgid "Rename author from: \"%s\" to \"%s\" failed with error: %s"
msgstr ""
-#: cps/helper.py:374 cps/helper.py:383
+#: cps/helper.py:244 cps/helper.py:253
#, python-format
msgid "File %s not found on Google Drive"
msgstr ""
-#: cps/helper.py:394
+#: cps/helper.py:271
#, python-format
msgid "Book path %s not found on Google Drive"
msgstr ""
-#: cps/web.py:954
+#: cps/web.py:1026
msgid "Requesting update package"
msgstr ""
-#: cps/web.py:955
+#: cps/web.py:1027
msgid "Downloading update package"
msgstr ""
-#: cps/web.py:956
+#: cps/web.py:1028
msgid "Unzipping update package"
msgstr ""
-#: cps/web.py:957
+#: cps/web.py:1029
msgid "Files are replaced"
msgstr ""
-#: cps/web.py:958
+#: cps/web.py:1030
msgid "Database connections are closed"
msgstr ""
-#: cps/web.py:959
+#: cps/web.py:1031
msgid "Server is stopped"
msgstr ""
-#: cps/web.py:960
+#: cps/web.py:1032
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/web.py:1034
+#: cps/web.py:1052
msgid "Recently Added Books"
msgstr ""
-#: cps/web.py:1044
+#: cps/web.py:1062
msgid "Newest Books"
msgstr ""
-#: cps/web.py:1056
+#: cps/web.py:1074
msgid "Oldest Books"
msgstr ""
-#: cps/web.py:1068
+#: cps/web.py:1086
msgid "Books (A-Z)"
msgstr ""
-#: cps/web.py:1079
+#: cps/web.py:1097
msgid "Books (Z-A)"
msgstr ""
-#: cps/web.py:1108
+#: cps/web.py:1126
msgid "Hot Books (most downloaded)"
msgstr ""
-#: cps/web.py:1121
+#: cps/web.py:1139
msgid "Best rated books"
msgstr ""
-#: cps/templates/index.xml:32 cps/web.py:1132
+#: cps/templates/index.xml:32 cps/web.py:1151
msgid "Random Books"
msgstr ""
-#: cps/web.py:1146
+#: cps/web.py:1166
msgid "Author list"
msgstr ""
-#: cps/web.py:1158 cps/web.py:1220 cps/web.py:1379 cps/web.py:1909
+#: cps/web.py:1178 cps/web.py:1241 cps/web.py:1401 cps/web.py:1961
msgid "Error opening eBook. File does not exist or file is not accessible:"
msgstr ""
-#: cps/templates/index.xml:64 cps/web.py:1204
+#: cps/templates/index.xml:64 cps/web.py:1225
msgid "Series list"
msgstr ""
-#: cps/web.py:1218
+#: cps/web.py:1239
#, python-format
msgid "Series: %(serie)s"
msgstr ""
-#: cps/web.py:1251
+#: cps/web.py:1272
msgid "Available languages"
msgstr ""
-#: cps/web.py:1268
+#: cps/web.py:1289
#, python-format
msgid "Language: %(name)s"
msgstr ""
-#: cps/templates/index.xml:58 cps/web.py:1278
+#: cps/templates/index.xml:58 cps/web.py:1300
msgid "Category list"
msgstr ""
-#: cps/web.py:1292
+#: cps/web.py:1314
#, python-format
msgid "Category: %(name)s"
msgstr ""
-#: cps/web.py:1433
-msgid "Excecution permissions missing"
+#: cps/templates/layout.html:71 cps/web.py:1451
+msgid "Tasks"
msgstr ""
-#: cps/web.py:1448
+#: cps/web.py:1482
msgid "Statistics"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1588
msgid "Callback domain is not verified, please follow steps to verify domain in google developer console"
msgstr ""
-#: cps/web.py:1620
+#: cps/web.py:1664
msgid "Server restarted, please reload page"
msgstr ""
-#: cps/web.py:1623
+#: cps/web.py:1667
msgid "Performing shutdown of server, please close window"
msgstr ""
-#: cps/web.py:1641
+#: cps/web.py:1685
msgid "Update done"
msgstr ""
-#: cps/web.py:1698
+#: cps/web.py:1741 cps/web.py:1782
+#, python-format
+msgid "%s: %s"
+msgstr ""
+
+#: cps/web.py:1753
#, python-format
msgid "Published after %s"
msgstr ""
-#: cps/web.py:1703
+#: cps/web.py:1758
msgid "Published before "
msgstr ""
-#: cps/web.py:1749 cps/web.py:1762
+#: cps/web.py:1776
+#, python-format
+msgid "Rating <= %s"
+msgstr ""
+
+#: cps/web.py:1778
+#, python-format
+msgid "Rating >= %s"
+msgstr ""
+
+#: cps/web.py:1833 cps/web.py:1849
msgid "search"
msgstr ""
#: cps/templates/index.xml:39 cps/templates/index.xml:42
-#: cps/templates/layout.html:143 cps/web.py:1864
+#: cps/templates/layout.html:146 cps/web.py:1916
msgid "Read Books"
msgstr ""
#: cps/templates/index.xml:46 cps/templates/index.xml:49
-#: cps/templates/layout.html:145 cps/web.py:1867
+#: cps/templates/layout.html:148 cps/web.py:1919
msgid "Unread Books"
msgstr ""
-#: cps/web.py:1919 cps/web.py:1921 cps/web.py:1923 cps/web.py:1935
+#: cps/web.py:1971 cps/web.py:1973 cps/web.py:1975 cps/web.py:1987
msgid "Read a Book"
msgstr ""
-#: cps/web.py:1991 cps/web.py:2744
+#: cps/web.py:2044 cps/web.py:2817
msgid "Please fill out all fields!"
msgstr ""
-#: cps/web.py:1992 cps/web.py:2009 cps/web.py:2014 cps/web.py:2016
+#: cps/web.py:2045 cps/web.py:2062 cps/web.py:2067 cps/web.py:2069
msgid "register"
msgstr ""
-#: cps/web.py:2008
+#: cps/web.py:2061
msgid "An unknown error occured. Please try again later."
msgstr ""
-#: cps/web.py:2013
+#: cps/web.py:2066
msgid "This username or email address is already in use."
msgstr ""
-#: cps/web.py:2030 cps/web.py:2126
+#: cps/web.py:2083 cps/web.py:2179
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:2035
+#: cps/web.py:2088
msgid "Wrong Username or Password"
msgstr ""
-#: cps/web.py:2041 cps/web.py:2062
+#: cps/web.py:2094 cps/web.py:2115
msgid "login"
msgstr ""
-#: cps/web.py:2074 cps/web.py:2105
+#: cps/web.py:2127 cps/web.py:2158
msgid "Token not found"
msgstr ""
-#: cps/web.py:2082 cps/web.py:2113
+#: cps/web.py:2135 cps/web.py:2166
msgid "Token has expired"
msgstr ""
-#: cps/web.py:2090
+#: cps/web.py:2143
msgid "Success! Please return to your device"
msgstr ""
-#: cps/web.py:2140
+#: cps/web.py:2193
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/web.py:2144
+#: cps/web.py:2197
#, python-format
-msgid "Book successfully send to %(kindlemail)s"
+msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:2148
+#: cps/web.py:2201
#, python-format
msgid "There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:2150 cps/web.py:2832
+#: cps/web.py:2203 cps/web.py:2905
msgid "Please configure your kindle email address first..."
msgstr ""
-#: cps/web.py:2194
+#: cps/web.py:2247
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2232
+#: cps/web.py:2285
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2238
+#: cps/web.py:2291
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/web.py:2258 cps/web.py:2282
+#: cps/web.py:2311 cps/web.py:2335
#, python-format
msgid "A shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/web.py:2263
+#: cps/web.py:2316
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
-#: cps/web.py:2265 cps/web.py:2293
+#: cps/web.py:2318 cps/web.py:2346
msgid "There was an error"
msgstr ""
-#: cps/web.py:2266 cps/web.py:2268
+#: cps/web.py:2319 cps/web.py:2321
msgid "create a shelf"
msgstr ""
-#: cps/web.py:2291
+#: cps/web.py:2344
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
-#: cps/web.py:2294 cps/web.py:2296
+#: cps/web.py:2347 cps/web.py:2349
msgid "Edit a shelf"
msgstr ""
-#: cps/web.py:2317
+#: cps/web.py:2370
#, python-format
msgid "successfully deleted shelf %(name)s"
msgstr ""
-#: cps/web.py:2339
+#: cps/web.py:2392
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
-#: cps/web.py:2342
+#: cps/web.py:2395
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
-#: cps/web.py:2373
+#: cps/web.py:2426
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
-#: cps/web.py:2444
+#: cps/web.py:2498
msgid "Found an existing account for this email address."
msgstr ""
-#: cps/web.py:2446 cps/web.py:2450
+#: cps/web.py:2500 cps/web.py:2503
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:2447
+#: cps/web.py:2501
msgid "Profile updated"
msgstr ""
-#: cps/web.py:2459
+#: cps/web.py:2513
msgid "Unknown"
msgstr ""
-#: cps/web.py:2472
+#: cps/web.py:2526
msgid "Admin page"
msgstr ""
-#: cps/web.py:2560 cps/web.py:2692
+#: cps/web.py:2604 cps/web.py:2766
msgid "Calibre-web configuration updated"
msgstr ""
-#: cps/templates/admin.html:80 cps/web.py:2565
+#: cps/templates/admin.html:83 cps/web.py:2617
msgid "UI Configuration"
msgstr ""
-#: cps/web.py:2581
+#: cps/web.py:2633
msgid "Import of optional Google Drive requirements missing"
msgstr ""
-#: cps/web.py:2584
+#: cps/web.py:2636
msgid "client_secrets.json is missing or not readable"
msgstr ""
-#: cps/web.py:2589 cps/web.py:2617
+#: cps/web.py:2641 cps/web.py:2669
msgid "client_secrets.json is not configured for web application"
msgstr ""
-#: cps/templates/admin.html:79 cps/web.py:2620 cps/web.py:2645 cps/web.py:2656
-#: cps/web.py:2680 cps/web.py:2700 cps/web.py:2707 cps/web.py:2725
+#: cps/templates/admin.html:82 cps/web.py:2672 cps/web.py:2698 cps/web.py:2710
+#: cps/web.py:2753 cps/web.py:2774 cps/web.py:2781 cps/web.py:2798
msgid "Basic Configuration"
msgstr ""
-#: cps/web.py:2642
+#: cps/web.py:2695
msgid "Keyfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2653
+#: cps/web.py:2707
msgid "Certfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2677
+#: cps/web.py:2750
msgid "Logfile location is not valid, please enter correct path"
msgstr ""
-#: cps/web.py:2704
+#: cps/web.py:2778
msgid "DB location is not valid, please enter correct path"
msgstr ""
-#: cps/templates/admin.html:34 cps/web.py:2746 cps/web.py:2802
+#: cps/templates/admin.html:34 cps/web.py:2819 cps/web.py:2875
msgid "Add new user"
msgstr ""
-#: cps/web.py:2792
-#, python-format
-msgid "User '%(user)s' created"
-msgstr ""
-
-#: cps/web.py:2796
-msgid "Found an existing account for this email address or nickname."
-msgstr ""
-
-#: cps/web.py:2820
-msgid "Mail settings updated"
-msgstr ""
-
-#: cps/web.py:2827
-#, python-format
-msgid "Test E-Mail successfully send to %(kindlemail)s"
-msgstr ""
-
-#: cps/web.py:2830
-#, python-format
-msgid "There was an error sending the Test E-Mail: %(res)s"
-msgstr ""
-
-#: cps/web.py:2834
-msgid "E-Mail settings updated"
-msgstr ""
-
-#: cps/web.py:2835
-msgid "Edit mail settings"
-msgstr ""
-
#: cps/web.py:2865
#, python-format
+msgid "User '%(user)s' created"
+msgstr ""
+
+#: cps/web.py:2869
+msgid "Found an existing account for this email address or nickname."
+msgstr ""
+
+#: cps/web.py:2893
+msgid "Mail settings updated"
+msgstr ""
+
+#: cps/web.py:2900
+#, python-format
+msgid "Test E-Mail successfully send to %(kindlemail)s"
+msgstr ""
+
+#: cps/web.py:2903
+#, python-format
+msgid "There was an error sending the Test E-Mail: %(res)s"
+msgstr ""
+
+#: cps/web.py:2907
+msgid "E-Mail settings updated"
+msgstr ""
+
+#: cps/web.py:2908
+msgid "Edit mail settings"
+msgstr ""
+
+#: cps/web.py:2938
+#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/web.py:2974
+#: cps/web.py:3047
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
-#: cps/web.py:2977
+#: cps/web.py:3050
msgid "An unknown error occured."
msgstr ""
-#: cps/web.py:2980
+#: cps/web.py:3052
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/web.py:2996
+#: cps/web.py:3069
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
-#: cps/web.py:3011 cps/web.py:3222 cps/web.py:3227 cps/web.py:3395
+#: cps/web.py:3084 cps/web.py:3316 cps/web.py:3321 cps/web.py:3478
msgid "edit metadata"
msgstr ""
-#: cps/web.py:3021 cps/web.py:3272
+#: cps/web.py:3095 cps/web.py:3346
#, python-format
msgid "File extension \"%s\" is not allowed to be uploaded to this server"
msgstr ""
-#: cps/web.py:3032
-#, python-format
-msgid "Failed to store file %s."
-msgstr ""
-
-#: cps/web.py:3056 cps/web.py:3060
-msgid "unknown"
-msgstr ""
-
-#: cps/web.py:3081
-msgid "Cover is not a jpg file, can't save"
-msgstr ""
-
-#: cps/web.py:3231
-msgid "Error editing book, please check logfile for details"
-msgstr ""
-
-#: cps/web.py:3278
+#: cps/web.py:3098 cps/web.py:3352
msgid "File to be uploaded must have an extension"
msgstr ""
-#: cps/web.py:3297
+#: cps/web.py:3110 cps/web.py:3372
#, python-format
msgid "Failed to create path %s (Permission denied)."
msgstr ""
-#: cps/web.py:3302
+#: cps/web.py:3115
+#, python-format
+msgid "Failed to store file %s."
+msgstr ""
+
+#: cps/web.py:3131
+#, python-format
+msgid "File format %s added to %s"
+msgstr ""
+
+#: cps/web.py:3147 cps/web.py:3151
+msgid "unknown"
+msgstr ""
+
+#: cps/web.py:3173
+msgid "Cover is not a jpg file, can't save"
+msgstr ""
+
+#: cps/web.py:3325
+msgid "Error editing book, please check logfile for details"
+msgstr ""
+
+#: cps/web.py:3377
#, python-format
msgid "Failed to store file %s (Permission denied)."
msgstr ""
-#: cps/web.py:3307
+#: cps/web.py:3382
#, python-format
msgid "Failed to delete file %s (Permission denied)."
msgstr ""
+#: cps/web.py:3464
+#, python-format
+msgid "File %s uploaded"
+msgstr ""
+
+#: cps/worker.py:212 cps/worker.py:357
+msgid "Started"
+msgstr ""
+
+#: cps/worker.py:221
+#, python-format
+msgid "E-Mail: %stitle"
+msgstr ""
+
+#: cps/worker.py:229
+#, python-format
+msgid "Convertertool %(converter)s not found"
+msgstr ""
+
+#: cps/worker.py:248
+#, python-format
+msgid "Ebook-converter failed: %s"
+msgstr ""
+
+#: cps/worker.py:258
+#, python-format
+msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgstr ""
+
+#: cps/worker.py:291 cps/worker.py:346 cps/worker.py:409
+msgid "Finished"
+msgstr ""
+
+#: cps/worker.py:314 cps/worker.py:332
+msgid "Waiting"
+msgstr ""
+
+#: cps/worker.py:364
+msgid "This email has been sent via calibre web."
+msgstr ""
+
+#: cps/worker.py:435
+msgid "Failed"
+msgstr ""
+
#: cps/templates/admin.html:4
msgid "User list"
msgstr ""
@@ -532,7 +597,7 @@ msgstr ""
msgid "DLS"
msgstr ""
-#: cps/templates/admin.html:12 cps/templates/layout.html:71
+#: cps/templates/admin.html:12 cps/templates/layout.html:74
msgid "Admin"
msgstr ""
@@ -586,96 +651,100 @@ msgid "Change SMTP settings"
msgstr ""
#: cps/templates/admin.html:57
-msgid "Configuration"
+msgid "Edit allowed domains"
msgstr ""
#: cps/templates/admin.html:60
+msgid "Configuration"
+msgstr ""
+
+#: cps/templates/admin.html:63
msgid "Calibre DB dir"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/config_edit.html:100
+#: cps/templates/admin.html:64 cps/templates/config_edit.html:106
msgid "Log Level"
msgstr ""
-#: cps/templates/admin.html:62
+#: cps/templates/admin.html:65
msgid "Port"
msgstr ""
-#: cps/templates/admin.html:63 cps/templates/config_view_edit.html:23
+#: cps/templates/admin.html:66 cps/templates/config_view_edit.html:23
msgid "Books per page"
msgstr ""
-#: cps/templates/admin.html:64
+#: cps/templates/admin.html:67
msgid "Uploading"
msgstr ""
-#: cps/templates/admin.html:65
+#: cps/templates/admin.html:68
msgid "Public registration"
msgstr ""
-#: cps/templates/admin.html:66
+#: cps/templates/admin.html:69
msgid "Anonymous browsing"
msgstr ""
-#: cps/templates/admin.html:67 cps/templates/remote_login.html:4
+#: cps/templates/admin.html:70 cps/templates/remote_login.html:4
msgid "Remote Login"
msgstr ""
-#: cps/templates/admin.html:81
+#: cps/templates/admin.html:84
msgid "Administration"
msgstr ""
-#: cps/templates/admin.html:83
+#: cps/templates/admin.html:85
msgid "Current commit timestamp"
msgstr ""
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:86
msgid "Newest commit timestamp"
msgstr ""
-#: cps/templates/admin.html:86
+#: cps/templates/admin.html:88
msgid "Reconnect to Calibre DB"
msgstr ""
-#: cps/templates/admin.html:87
+#: cps/templates/admin.html:89
msgid "Restart Calibre-web"
msgstr ""
-#: cps/templates/admin.html:88
+#: cps/templates/admin.html:90
msgid "Stop Calibre-web"
msgstr ""
-#: cps/templates/admin.html:89
+#: cps/templates/admin.html:91
msgid "Check for update"
msgstr ""
-#: cps/templates/admin.html:90
+#: cps/templates/admin.html:92
msgid "Perform Update"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:101
msgid "Do you really want to restart Calibre-web?"
msgstr ""
-#: cps/templates/admin.html:105 cps/templates/admin.html:119
-#: cps/templates/admin.html:140 cps/templates/shelf.html:59
+#: cps/templates/admin.html:106 cps/templates/admin.html:120
+#: cps/templates/admin.html:141 cps/templates/shelf.html:59
msgid "Ok"
msgstr ""
-#: cps/templates/admin.html:106 cps/templates/admin.html:120
-#: cps/templates/book_edit.html:135 cps/templates/book_edit.html:157
-#: cps/templates/config_edit.html:168 cps/templates/config_view_edit.html:164
+#: cps/templates/admin.html:107 cps/templates/admin.html:121
+#: cps/templates/book_edit.html:144 cps/templates/book_edit.html:166
+#: cps/templates/config_edit.html:206 cps/templates/config_view_edit.html:164
#: cps/templates/email_edit.html:36 cps/templates/shelf.html:60
#: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12
#: cps/templates/user_edit.html:147
msgid "Back"
msgstr ""
-#: cps/templates/admin.html:118
+#: cps/templates/admin.html:119
msgid "Do you really want to stop Calibre-web?"
msgstr ""
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:132
msgid "Updating, please do not reload page"
msgstr ""
@@ -695,130 +764,134 @@ msgstr ""
msgid "Delete Book"
msgstr ""
-#: cps/templates/book_edit.html:22 cps/templates/search_form.html:6
+#: cps/templates/book_edit.html:19
+msgid "Delete formats:"
+msgstr ""
+
+#: cps/templates/book_edit.html:22 cps/templates/book_edit.html:165
+msgid "Delete"
+msgstr ""
+
+#: cps/templates/book_edit.html:31 cps/templates/search_form.html:6
msgid "Book Title"
msgstr ""
-#: cps/templates/book_edit.html:26 cps/templates/book_edit.html:216
-#: cps/templates/book_edit.html:234 cps/templates/search_form.html:10
+#: cps/templates/book_edit.html:35 cps/templates/book_edit.html:225
+#: cps/templates/book_edit.html:243 cps/templates/search_form.html:10
msgid "Author"
msgstr ""
-#: cps/templates/book_edit.html:30 cps/templates/book_edit.html:221
-#: cps/templates/book_edit.html:236
+#: cps/templates/book_edit.html:39 cps/templates/book_edit.html:230
+#: cps/templates/book_edit.html:245 cps/templates/search_form.html:106
msgid "Description"
msgstr ""
-#: cps/templates/book_edit.html:34 cps/templates/search_form.html:34
+#: cps/templates/book_edit.html:43 cps/templates/search_form.html:33
msgid "Tags"
msgstr ""
-#: cps/templates/book_edit.html:39 cps/templates/layout.html:154
-#: cps/templates/search_form.html:54
+#: cps/templates/book_edit.html:48 cps/templates/layout.html:157
+#: cps/templates/search_form.html:53
msgid "Series"
msgstr ""
-#: cps/templates/book_edit.html:43
+#: cps/templates/book_edit.html:52
msgid "Series id"
msgstr ""
-#: cps/templates/book_edit.html:47
+#: cps/templates/book_edit.html:56
msgid "Rating"
msgstr ""
-#: cps/templates/book_edit.html:51
+#: cps/templates/book_edit.html:60
msgid "Cover URL (jpg, cover is downloaded and stored in database, field is afterwards empty again)"
msgstr ""
-#: cps/templates/book_edit.html:56 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:65 cps/templates/detail.html:131
msgid "Publishing date"
msgstr ""
-#: cps/templates/book_edit.html:63 cps/templates/user_edit.html:27
+#: cps/templates/book_edit.html:72 cps/templates/user_edit.html:27
msgid "Language"
msgstr ""
-#: cps/templates/book_edit.html:74
+#: cps/templates/book_edit.html:83 cps/templates/search_form.html:117
msgid "Yes"
msgstr ""
-#: cps/templates/book_edit.html:75
+#: cps/templates/book_edit.html:84 cps/templates/search_form.html:118
msgid "No"
msgstr ""
-#: cps/templates/book_edit.html:121
+#: cps/templates/book_edit.html:130
msgid "Upload format"
msgstr ""
-#: cps/templates/book_edit.html:130
+#: cps/templates/book_edit.html:139
msgid "view book after edit"
msgstr ""
-#: cps/templates/book_edit.html:133 cps/templates/book_edit.html:169
+#: cps/templates/book_edit.html:142 cps/templates/book_edit.html:178
msgid "Get metadata"
msgstr ""
-#: cps/templates/book_edit.html:134 cps/templates/config_edit.html:166
+#: cps/templates/book_edit.html:143 cps/templates/config_edit.html:204
#: cps/templates/config_view_edit.html:163 cps/templates/login.html:20
-#: cps/templates/search_form.html:96 cps/templates/shelf_edit.html:17
+#: cps/templates/search_form.html:153 cps/templates/shelf_edit.html:17
#: cps/templates/user_edit.html:145
msgid "Submit"
msgstr ""
-#: cps/templates/book_edit.html:148
+#: cps/templates/book_edit.html:157
msgid "Are really you sure?"
msgstr ""
-#: cps/templates/book_edit.html:151
+#: cps/templates/book_edit.html:160
msgid "Book will be deleted from Calibre database"
msgstr ""
-#: cps/templates/book_edit.html:152
+#: cps/templates/book_edit.html:161
msgid "and from hard disk"
msgstr ""
-#: cps/templates/book_edit.html:156
-msgid "Delete"
-msgstr ""
-
-#: cps/templates/book_edit.html:172
+#: cps/templates/book_edit.html:181
msgid "Keyword"
msgstr ""
-#: cps/templates/book_edit.html:173
+#: cps/templates/book_edit.html:182
msgid " Search keyword "
msgstr ""
-#: cps/templates/book_edit.html:175 cps/templates/layout.html:46
+#: cps/templates/book_edit.html:184 cps/templates/layout.html:46
msgid "Go!"
msgstr ""
-#: cps/templates/book_edit.html:179
+#: cps/templates/book_edit.html:188
msgid "Click the cover to load metadata to the form"
msgstr ""
-#: cps/templates/book_edit.html:191 cps/templates/book_edit.html:231
+#: cps/templates/book_edit.html:200 cps/templates/book_edit.html:240
msgid "Loading..."
msgstr ""
-#: cps/templates/book_edit.html:196 cps/templates/layout.html:218
+#: cps/templates/book_edit.html:205 cps/templates/layout.html:221
msgid "Close"
msgstr ""
-#: cps/templates/book_edit.html:218 cps/templates/book_edit.html:235
+#: cps/templates/book_edit.html:227 cps/templates/book_edit.html:244
#: cps/templates/detail.html:126 cps/templates/search_form.html:14
msgid "Publisher"
msgstr ""
-#: cps/templates/book_edit.html:223 cps/templates/book_edit.html:237
+#: cps/templates/book_edit.html:232 cps/templates/book_edit.html:246
msgid "Source"
msgstr ""
-#: cps/templates/book_edit.html:232
+#: cps/templates/book_edit.html:241
msgid "Search error!"
msgstr ""
-#: cps/templates/book_edit.html:233
+#: cps/templates/book_edit.html:242
msgid "No Result! Please try anonther keyword."
msgstr ""
@@ -843,78 +916,106 @@ msgid "Authenticate Google Drive"
msgstr ""
#: cps/templates/config_edit.html:40
+msgid "Please finish Google Drive setup after login"
+msgstr ""
+
+#: cps/templates/config_edit.html:44
msgid "Google Drive Calibre folder"
msgstr ""
-#: cps/templates/config_edit.html:48
+#: cps/templates/config_edit.html:52
msgid "Metadata Watch Channel ID"
msgstr ""
-#: cps/templates/config_edit.html:51
+#: cps/templates/config_edit.html:55
msgid "Revoke"
msgstr ""
-#: cps/templates/config_edit.html:67
+#: cps/templates/config_edit.html:73
msgid "Server Configuration"
msgstr ""
-#: cps/templates/config_edit.html:74
+#: cps/templates/config_edit.html:80
msgid "Server Port"
msgstr ""
-#: cps/templates/config_edit.html:78
+#: cps/templates/config_edit.html:84
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:82
+#: cps/templates/config_edit.html:88
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:93
+#: cps/templates/config_edit.html:99
msgid "Logfile Configuration"
msgstr ""
-#: cps/templates/config_edit.html:109
+#: cps/templates/config_edit.html:115
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:120
+#: cps/templates/config_edit.html:126
msgid "Feature Configuration"
msgstr ""
-#: cps/templates/config_edit.html:128
+#: cps/templates/config_edit.html:134
msgid "Enable uploading"
msgstr ""
-#: cps/templates/config_edit.html:132
+#: cps/templates/config_edit.html:138
msgid "Enable anonymous browsing"
msgstr ""
-#: cps/templates/config_edit.html:136
+#: cps/templates/config_edit.html:142
msgid "Enable public registration"
msgstr ""
-#: cps/templates/config_edit.html:140
+#: cps/templates/config_edit.html:146
msgid "Enable remote login (\"magic link\")"
msgstr ""
-#: cps/templates/config_edit.html:145
+#: cps/templates/config_edit.html:151
msgid "Use"
msgstr ""
-#: cps/templates/config_edit.html:146
+#: cps/templates/config_edit.html:152
msgid "Obtain an API Key"
msgstr ""
-#: cps/templates/config_edit.html:150
+#: cps/templates/config_edit.html:156
msgid "Goodreads API Key"
msgstr ""
-#: cps/templates/config_edit.html:154
+#: cps/templates/config_edit.html:160
msgid "Goodreads API Secret"
msgstr ""
-#: cps/templates/config_edit.html:171 cps/templates/layout.html:79
+#: cps/templates/config_edit.html:173
+msgid "E-Book converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:181
+msgid "No converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:183
+msgid "Use Kindlegen"
+msgstr ""
+
+#: cps/templates/config_edit.html:185
+msgid "Use calibre's ebook converter"
+msgstr ""
+
+#: cps/templates/config_edit.html:189
+msgid "E-Book converter settings"
+msgstr ""
+
+#: cps/templates/config_edit.html:193
+msgid "Path to convertertool"
+msgstr ""
+
+#: cps/templates/config_edit.html:209 cps/templates/layout.html:82
#: cps/templates/login.html:4
msgid "Login"
msgstr ""
@@ -923,8 +1024,8 @@ msgstr ""
msgid "View Configuration"
msgstr ""
-#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:130
-#: cps/templates/layout.html:131 cps/templates/shelf_edit.html:7
+#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:133
+#: cps/templates/layout.html:134 cps/templates/shelf_edit.html:7
msgid "Title"
msgstr ""
@@ -1096,7 +1197,7 @@ msgstr ""
msgid "Save settings and send Test E-Mail"
msgstr ""
-#: cps/templates/feed.xml:20 cps/templates/layout.html:202
+#: cps/templates/feed.xml:20 cps/templates/layout.html:205
msgid "Next"
msgstr ""
@@ -1113,7 +1214,7 @@ msgstr ""
msgid "Start"
msgstr ""
-#: cps/templates/index.xml:14 cps/templates/layout.html:136
+#: cps/templates/index.xml:14 cps/templates/layout.html:139
msgid "Hot Books"
msgstr ""
@@ -1121,7 +1222,7 @@ msgstr ""
msgid "Popular publications from this catalog based on Downloads."
msgstr ""
-#: cps/templates/index.xml:20 cps/templates/layout.html:139
+#: cps/templates/index.xml:20 cps/templates/layout.html:142
msgid "Best rated Books"
msgstr ""
@@ -1141,7 +1242,7 @@ msgstr ""
msgid "Show Random Books"
msgstr ""
-#: cps/templates/index.xml:52 cps/templates/layout.html:157
+#: cps/templates/index.xml:52 cps/templates/layout.html:160
msgid "Authors"
msgstr ""
@@ -1157,7 +1258,7 @@ msgstr ""
msgid "Books ordered by series"
msgstr ""
-#: cps/templates/index.xml:70 cps/templates/layout.html:163
+#: cps/templates/index.xml:70 cps/templates/layout.html:166
msgid "Public Shelves"
msgstr ""
@@ -1165,7 +1266,7 @@ msgstr ""
msgid "Books organized in public shelfs, visible to everyone"
msgstr ""
-#: cps/templates/index.xml:77 cps/templates/layout.html:167
+#: cps/templates/index.xml:77 cps/templates/layout.html:170
msgid "Your Shelves"
msgstr ""
@@ -1181,80 +1282,80 @@ msgstr ""
msgid "Advanced Search"
msgstr ""
-#: cps/templates/layout.html:75
+#: cps/templates/layout.html:78
msgid "Logout"
msgstr ""
-#: cps/templates/layout.html:80 cps/templates/register.html:18
+#: cps/templates/layout.html:83 cps/templates/register.html:18
msgid "Register"
msgstr ""
-#: cps/templates/layout.html:105
+#: cps/templates/layout.html:108
msgid "Uploading..."
msgstr ""
-#: cps/templates/layout.html:106
+#: cps/templates/layout.html:109
msgid "please don't refresh the page"
msgstr ""
-#: cps/templates/layout.html:117
+#: cps/templates/layout.html:120
msgid "Browse"
msgstr ""
-#: cps/templates/layout.html:119
+#: cps/templates/layout.html:122
msgid "Recently Added"
msgstr ""
-#: cps/templates/layout.html:124
+#: cps/templates/layout.html:127
msgid "Sorted Books"
msgstr ""
-#: cps/templates/layout.html:128 cps/templates/layout.html:129
-#: cps/templates/layout.html:130 cps/templates/layout.html:131
+#: cps/templates/layout.html:131 cps/templates/layout.html:132
+#: cps/templates/layout.html:133 cps/templates/layout.html:134
msgid "Sort By"
msgstr ""
-#: cps/templates/layout.html:128
+#: cps/templates/layout.html:131
msgid "Newest"
msgstr ""
-#: cps/templates/layout.html:129
+#: cps/templates/layout.html:132
msgid "Oldest"
msgstr ""
-#: cps/templates/layout.html:130
+#: cps/templates/layout.html:133
msgid "Ascending"
msgstr ""
-#: cps/templates/layout.html:131
+#: cps/templates/layout.html:134
msgid "Descending"
msgstr ""
-#: cps/templates/layout.html:148
+#: cps/templates/layout.html:151
msgid "Discover"
msgstr ""
-#: cps/templates/layout.html:151
+#: cps/templates/layout.html:154
msgid "Categories"
msgstr ""
-#: cps/templates/layout.html:160 cps/templates/search_form.html:75
+#: cps/templates/layout.html:163 cps/templates/search_form.html:74
msgid "Languages"
msgstr ""
-#: cps/templates/layout.html:172
+#: cps/templates/layout.html:175
msgid "Create a Shelf"
msgstr ""
-#: cps/templates/layout.html:173 cps/templates/stats.html:3
+#: cps/templates/layout.html:176 cps/templates/stats.html:3
msgid "About"
msgstr ""
-#: cps/templates/layout.html:187
+#: cps/templates/layout.html:190
msgid "Previous"
msgstr ""
-#: cps/templates/layout.html:214
+#: cps/templates/layout.html:217
msgid "Book Details"
msgstr ""
@@ -1340,26 +1441,38 @@ msgstr ""
msgid "Results for:"
msgstr ""
-#: cps/templates/search_form.html:20
+#: cps/templates/search.html:12
+msgid "Search result to shelf"
+msgstr ""
+
+#: cps/templates/search_form.html:19
msgid "Publishing date from"
msgstr ""
-#: cps/templates/search_form.html:27
+#: cps/templates/search_form.html:26
msgid "Publishing date to"
msgstr ""
-#: cps/templates/search_form.html:44
+#: cps/templates/search_form.html:43
msgid "Exclude Tags"
msgstr ""
-#: cps/templates/search_form.html:64
+#: cps/templates/search_form.html:63
msgid "Exclude Series"
msgstr ""
-#: cps/templates/search_form.html:85
+#: cps/templates/search_form.html:84
msgid "Exclude Languages"
msgstr ""
+#: cps/templates/search_form.html:97
+msgid "Rating bigger than"
+msgstr ""
+
+#: cps/templates/search_form.html:101
+msgid "Rating less than"
+msgstr ""
+
#: cps/templates/shelf.html:7
msgid "Delete this Shelf"
msgstr ""
@@ -1420,6 +1533,42 @@ msgstr ""
msgid "Installed Version"
msgstr ""
+#: cps/templates/tasks.html:7
+msgid "Tasks list"
+msgstr ""
+
+#: cps/templates/tasks.html:12
+msgid "User"
+msgstr ""
+
+#: cps/templates/tasks.html:14
+msgid "Task"
+msgstr ""
+
+#: cps/templates/tasks.html:15
+msgid "Status"
+msgstr ""
+
+#: cps/templates/tasks.html:16
+msgid "Progress"
+msgstr ""
+
+#: cps/templates/tasks.html:17
+msgid "Runtime"
+msgstr ""
+
+#: cps/templates/tasks.html:18
+msgid "Starttime"
+msgstr ""
+
+#: cps/templates/tasks.html:24
+msgid "Delete finished tasks"
+msgstr ""
+
+#: cps/templates/tasks.html:25
+msgid "Hide all tasks"
+msgstr ""
+
#: cps/templates/user_edit.html:23
msgid "Kindle E-Mail"
msgstr ""