\n"
@@ -21,355 +21,370 @@ msgstr ""
msgid "installed"
msgstr ""
-#: cps/about.py:44
+#: cps/about.py:44 cps/converter.py:33
msgid "not installed"
msgstr ""
-#: cps/about.py:94
+#: cps/about.py:96
msgid "Statistics"
msgstr ""
-#: cps/admin.py:92
+#: cps/admin.py:93
msgid "Server restarted, please reload page"
msgstr ""
-#: cps/admin.py:94
+#: cps/admin.py:95
msgid "Performing shutdown of server, please close window"
msgstr ""
-#: cps/admin.py:102
+#: cps/admin.py:103
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:105
+#: cps/admin.py:106
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:115 cps/editbooks.py:505 cps/editbooks.py:515
-#: cps/editbooks.py:621 cps/editbooks.py:623 cps/editbooks.py:689
-#: cps/updater.py:509 cps/uploader.py:100 cps/uploader.py:110
+#: cps/admin.py:116 cps/editbooks.py:563 cps/editbooks.py:573
+#: cps/editbooks.py:667 cps/editbooks.py:669 cps/editbooks.py:730
+#: cps/editbooks.py:743 cps/updater.py:509 cps/uploader.py:97
+#: cps/uploader.py:107
msgid "Unknown"
msgstr ""
-#: cps/admin.py:134
+#: cps/admin.py:135
msgid "Admin page"
msgstr ""
-#: cps/admin.py:156
+#: cps/admin.py:157
msgid "UI Configuration"
msgstr ""
-#: cps/admin.py:189 cps/admin.py:671
+#: cps/admin.py:189 cps/admin.py:705
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:435 cps/admin.py:441 cps/admin.py:452 cps/admin.py:463
+#: cps/admin.py:434 cps/admin.py:440 cps/admin.py:451 cps/admin.py:462
#: cps/templates/modal_restriction.html:29
msgid "Deny"
msgstr ""
-#: cps/admin.py:437 cps/admin.py:443 cps/admin.py:454 cps/admin.py:465
+#: cps/admin.py:436 cps/admin.py:442 cps/admin.py:453 cps/admin.py:464
#: cps/templates/modal_restriction.html:28
msgid "Allow"
msgstr ""
-#: cps/admin.py:506
+#: cps/admin.py:510
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:522
-msgid "Keyfile Location is not Valid, Please Enter Correct Path"
+#: cps/admin.py:549
+msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:526
-msgid "Certfile Location is not Valid, Please Enter Correct Path"
+#: cps/admin.py:554
+msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:564
+#: cps/admin.py:580
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:593
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:585
+#: cps/admin.py:596
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:589
+#: cps/admin.py:600
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:592
+#: cps/admin.py:603
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:596
+#: cps/admin.py:607
msgid "LDAP Certificate Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:644
-msgid "Logfile Location is not Valid, Please Enter Correct Path"
+#: cps/admin.py:627
+msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:649
-msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
+#: cps/admin.py:631
+msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:668
+#: cps/admin.py:700
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:701
+#: cps/admin.py:702
+msgid "DB is not Writeable"
+msgstr ""
+
+#: cps/admin.py:735
msgid "Basic Configuration"
msgstr ""
-#: cps/admin.py:725 cps/web.py:1235
+#: cps/admin.py:750 cps/web.py:1337
msgid "Please fill out all fields!"
msgstr ""
-#: cps/admin.py:728 cps/admin.py:740 cps/admin.py:746 cps/admin.py:764
+#: cps/admin.py:753 cps/admin.py:765 cps/admin.py:771 cps/admin.py:891
msgid "Add new user"
msgstr ""
-#: cps/admin.py:737 cps/web.py:1477
+#: cps/admin.py:762 cps/web.py:1578
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:744 cps/admin.py:759
+#: cps/admin.py:769 cps/admin.py:784
msgid "Found an existing account for this e-mail address or nickname."
msgstr ""
-#: cps/admin.py:755
+#: cps/admin.py:780
#, python-format
msgid "User '%(user)s' created"
msgstr ""
-#: cps/admin.py:774
-msgid "Edit e-mail server settings"
-msgstr ""
-
-#: cps/admin.py:800
-#, python-format
-msgid "Test e-mail successfully send to %(kindlemail)s"
-msgstr ""
-
-#: cps/admin.py:803
-#, python-format
-msgid "There was an error sending the Test e-mail: %(res)s"
-msgstr ""
-
-#: cps/admin.py:805
-msgid "Please configure your e-mail address first..."
-msgstr ""
-
-#: cps/admin.py:807
-msgid "E-mail server settings updated"
-msgstr ""
-
-#: cps/admin.py:818
-msgid "User not found"
-msgstr ""
-
-#: cps/admin.py:839
+#: cps/admin.py:793
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/admin.py:842
+#: cps/admin.py:796
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:848
+#: cps/admin.py:802
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:884 cps/web.py:1520
+#: cps/admin.py:838 cps/web.py:1621
msgid "Found an existing account for this e-mail address."
msgstr ""
-#: cps/admin.py:894 cps/admin.py:909 cps/admin.py:929 cps/web.py:1495
+#: cps/admin.py:848 cps/admin.py:863 cps/admin.py:966 cps/web.py:1596
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/admin.py:900 cps/web.py:1487
+#: cps/admin.py:854 cps/web.py:1588
msgid "This username is already taken"
msgstr ""
-#: cps/admin.py:916
+#: cps/admin.py:870
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
-#: cps/admin.py:919
+#: cps/admin.py:873
msgid "An unknown error occured."
msgstr ""
-#: cps/admin.py:940
+#: cps/admin.py:900 cps/templates/admin.html:71
+msgid "Edit E-mail Server Settings"
+msgstr ""
+
+#: cps/admin.py:924
+#, python-format
+msgid "Test e-mail successfully send to %(kindlemail)s"
+msgstr ""
+
+#: cps/admin.py:927
+#, python-format
+msgid "There was an error sending the Test e-mail: %(res)s"
+msgstr ""
+
+#: cps/admin.py:929
+msgid "Please configure your e-mail address first..."
+msgstr ""
+
+#: cps/admin.py:931
+msgid "E-mail server settings updated"
+msgstr ""
+
+#: cps/admin.py:942
+msgid "User not found"
+msgstr ""
+
+#: cps/admin.py:977
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:943 cps/web.py:1260 cps/web.py:1324
+#: cps/admin.py:980 cps/web.py:1361 cps/web.py:1425
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:946 cps/web.py:1201
+#: cps/admin.py:983 cps/web.py:1299
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/admin.py:958
+#: cps/admin.py:995
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:997
+#: cps/admin.py:1034
msgid "Requesting update package"
msgstr ""
-#: cps/admin.py:998
+#: cps/admin.py:1035
msgid "Downloading update package"
msgstr ""
-#: cps/admin.py:999
+#: cps/admin.py:1036
msgid "Unzipping update package"
msgstr ""
-#: cps/admin.py:1000
+#: cps/admin.py:1037
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1001
+#: cps/admin.py:1038
msgid "Database connections are closed"
msgstr ""
-#: cps/admin.py:1002
+#: cps/admin.py:1039
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1003
+#: cps/admin.py:1040
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/admin.py:1004 cps/admin.py:1005 cps/admin.py:1006 cps/admin.py:1007
-#: cps/admin.py:1008
+#: cps/admin.py:1041 cps/admin.py:1042 cps/admin.py:1043 cps/admin.py:1044
+#: cps/admin.py:1045
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1004 cps/updater.py:319 cps/updater.py:520 cps/updater.py:522
+#: cps/admin.py:1041 cps/updater.py:319 cps/updater.py:520 cps/updater.py:522
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1005 cps/updater.py:321 cps/updater.py:524
+#: cps/admin.py:1042 cps/updater.py:321 cps/updater.py:524
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1006 cps/updater.py:323 cps/updater.py:526
+#: cps/admin.py:1043 cps/updater.py:323 cps/updater.py:526
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1007 cps/updater.py:325 cps/updater.py:528
+#: cps/admin.py:1044 cps/updater.py:325 cps/updater.py:528
msgid "General error"
msgstr ""
-#: cps/admin.py:1008
+#: cps/admin.py:1045
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/converter.py:31
+#: cps/converter.py:32
msgid "not configured"
msgstr ""
-#: cps/editbooks.py:239
-msgid "Book Format Successfully Deleted"
+#: cps/converter.py:34
+msgid "Execution permissions missing"
msgstr ""
#: cps/editbooks.py:242
+msgid "Book Format Successfully Deleted"
+msgstr ""
+
+#: cps/editbooks.py:245
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:253 cps/editbooks.py:490
+#: cps/editbooks.py:254 cps/editbooks.py:548 cps/web.py:1644 cps/web.py:1685
+#: cps/web.py:1747
msgid "Error opening eBook. File does not exist or file is not accessible"
msgstr ""
-#: cps/editbooks.py:281
+#: cps/editbooks.py:288
msgid "edit metadata"
msgstr ""
-#: cps/editbooks.py:317
+#: cps/editbooks.py:361
#, python-format
msgid "%(langname)s is not a valid language"
msgstr ""
-#: cps/editbooks.py:413 cps/editbooks.py:664
+#: cps/editbooks.py:467 cps/editbooks.py:712
#, python-format
msgid "File extension '%(ext)s' is not allowed to be uploaded to this server"
msgstr ""
-#: cps/editbooks.py:417 cps/editbooks.py:668
+#: cps/editbooks.py:471 cps/editbooks.py:716
msgid "File to be uploaded must have an extension"
msgstr ""
-#: cps/editbooks.py:429 cps/editbooks.py:702
+#: cps/editbooks.py:483 cps/editbooks.py:773
#, python-format
msgid "Failed to create path %(path)s (Permission denied)."
msgstr ""
-#: cps/editbooks.py:434
+#: cps/editbooks.py:488
#, python-format
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:451
+#: cps/editbooks.py:506 cps/editbooks.py:864
+#, python-format
+msgid "Database error: %(error)s."
+msgstr ""
+
+#: cps/editbooks.py:510
#, python-format
msgid "File format %(ext)s added to %(book)s"
msgstr ""
-#: cps/editbooks.py:607
+#: cps/editbooks.py:653
msgid "Metadata successfully updated"
msgstr ""
-#: cps/editbooks.py:616
+#: cps/editbooks.py:662
msgid "Error editing book, please check logfile for details"
msgstr ""
-#: cps/editbooks.py:676
+#: cps/editbooks.py:724
#, python-format
msgid "File %(filename)s could not saved to temp dir"
msgstr ""
-#: cps/editbooks.py:693
+#: cps/editbooks.py:734
msgid "Uploaded book probably exists in the library, consider to change before upload new: "
msgstr ""
-#: cps/editbooks.py:709
+#: cps/editbooks.py:780
#, python-format
msgid "Failed to Move File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:723
+#: cps/editbooks.py:836
#, python-format
msgid "Failed to Move Cover File %(file)s: %(error)s"
msgstr ""
-#: cps/editbooks.py:808
+#: cps/editbooks.py:850
#, python-format
msgid "File %(file)s uploaded"
msgstr ""
-#: cps/editbooks.py:837
+#: cps/editbooks.py:876
msgid "Source or destination format for conversion missing"
msgstr ""
-#: cps/editbooks.py:845
+#: cps/editbooks.py:884
#, python-format
msgid "Book successfully queued for converting to %(book_format)s"
msgstr ""
-#: cps/editbooks.py:849
+#: cps/editbooks.py:888
#, python-format
msgid "There was an error converting this book: %(res)s"
msgstr ""
@@ -392,12 +407,12 @@ msgstr ""
msgid "%(format)s not found on Google Drive: %(fn)s"
msgstr ""
-#: cps/helper.py:99 cps/helper.py:226 cps/templates/detail.html:41
+#: cps/helper.py:99 cps/helper.py:227 cps/templates/detail.html:41
#: cps/templates/detail.html:45
msgid "Send to Kindle"
msgstr ""
-#: cps/helper.py:100 cps/helper.py:118 cps/helper.py:228
+#: cps/helper.py:100 cps/helper.py:118 cps/helper.py:229
msgid "This e-mail has been sent via Calibre-Web."
msgstr ""
@@ -423,123 +438,127 @@ msgstr ""
msgid "Registration e-mail for user: %(name)s"
msgstr ""
-#: cps/helper.py:151 cps/helper.py:155 cps/helper.py:159 cps/helper.py:167
-#: cps/helper.py:171 cps/helper.py:175
+#: cps/helper.py:152 cps/helper.py:156 cps/helper.py:160 cps/helper.py:169
+#: cps/helper.py:173 cps/helper.py:177
#, python-format
msgid "Send %(format)s to Kindle"
msgstr ""
-#: cps/helper.py:180 cps/helper.py:187
+#: cps/helper.py:182 cps/helper.py:188
#, python-format
msgid "Convert %(orig)s to %(format)s and send to Kindle"
msgstr ""
-#: cps/helper.py:228
+#: cps/helper.py:229
#, python-format
msgid "E-mail: %(book)s"
msgstr ""
-#: cps/helper.py:230
+#: cps/helper.py:231
msgid "The requested file could not be read. Maybe wrong permissions?"
msgstr ""
-#: cps/helper.py:300
+#: cps/helper.py:301
#, python-format
msgid "Deleting book %(id)s failed, path has subfolders: %(path)s"
msgstr ""
-#: cps/helper.py:310
+#: cps/helper.py:311
#, python-format
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:320
+#: cps/helper.py:321
#, python-format
-msgid "Deleting book %(id)s failed, book path not valid: %(path)s"
+msgid "Deleting book %(id)s, book path not valid: %(path)s"
msgstr ""
-#: cps/helper.py:355
+#: cps/helper.py:356
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:365
+#: cps/helper.py:366
#, python-format
msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:379
+#: cps/helper.py:380
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:405 cps/helper.py:415 cps/helper.py:423
+#: cps/helper.py:406 cps/helper.py:416 cps/helper.py:424
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:444
+#: cps/helper.py:445
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:551
+#: cps/helper.py:542
+msgid "Error Downloading Cover"
+msgstr ""
+
+#: cps/helper.py:558
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:556
+#: cps/helper.py:563
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:567
+#: cps/helper.py:574
msgid "Only jpg/jpeg/png/webp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:581
+#: cps/helper.py:588
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:625
+#: cps/helper.py:637
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:638
+#: cps/helper.py:651
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:694
+#: cps/helper.py:707
msgid "Waiting"
msgstr ""
-#: cps/helper.py:696
+#: cps/helper.py:709
msgid "Failed"
msgstr ""
-#: cps/helper.py:698
+#: cps/helper.py:711
msgid "Started"
msgstr ""
-#: cps/helper.py:700
+#: cps/helper.py:713
msgid "Finished"
msgstr ""
-#: cps/helper.py:702
+#: cps/helper.py:715
msgid "Unknown Status"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:720
msgid "E-mail: "
msgstr ""
-#: cps/helper.py:709 cps/helper.py:713
+#: cps/helper.py:722 cps/helper.py:726
msgid "Convert: "
msgstr ""
-#: cps/helper.py:711
+#: cps/helper.py:724
msgid "Upload: "
msgstr ""
-#: cps/helper.py:715
+#: cps/helper.py:728
msgid "Unknown Task: "
msgstr ""
@@ -572,7 +591,7 @@ msgstr ""
msgid "Failed to fetch user info from Google."
msgstr ""
-#: cps/oauth_bb.py:225 cps/web.py:1296 cps/web.py:1436
+#: cps/oauth_bb.py:225 cps/web.py:1397 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
@@ -609,218 +628,218 @@ msgstr ""
msgid "Google Oauth error, please retry later."
msgstr ""
-#: cps/shelf.py:67 cps/shelf.py:112
+#: cps/shelf.py:66 cps/shelf.py:111
msgid "Invalid shelf specified"
msgstr ""
-#: cps/shelf.py:73
+#: cps/shelf.py:72
#, python-format
msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
msgstr ""
-#: cps/shelf.py:83
+#: cps/shelf.py:82
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr ""
-#: cps/shelf.py:98
+#: cps/shelf.py:97
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:116
+#: cps/shelf.py:115
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:134
+#: cps/shelf.py:133
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:149
+#: cps/shelf.py:148
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:151
+#: cps/shelf.py:150
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:189
+#: cps/shelf.py:188
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:197
+#: cps/shelf.py:196
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:221 cps/shelf.py:261
+#: cps/shelf.py:220 cps/shelf.py:260
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:230 cps/shelf.py:271
+#: cps/shelf.py:229 cps/shelf.py:270
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:237
+#: cps/shelf.py:236
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
-#: cps/shelf.py:240 cps/shelf.py:285
+#: cps/shelf.py:239 cps/shelf.py:284
msgid "There was an error"
msgstr ""
-#: cps/shelf.py:241 cps/shelf.py:243 cps/templates/layout.html:143
+#: cps/shelf.py:240 cps/shelf.py:242 cps/templates/layout.html:144
msgid "Create a Shelf"
msgstr ""
-#: cps/shelf.py:283
+#: cps/shelf.py:282
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
-#: cps/shelf.py:286 cps/shelf.py:288
+#: cps/shelf.py:285 cps/shelf.py:287
msgid "Edit a shelf"
msgstr ""
-#: cps/shelf.py:332
+#: cps/shelf.py:331
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
-#: cps/shelf.py:335
+#: cps/shelf.py:334
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
-#: cps/shelf.py:368
+#: cps/shelf.py:367
msgid "Hidden Book"
msgstr ""
-#: cps/shelf.py:373
+#: cps/shelf.py:372
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
-#: cps/ub.py:63
+#: cps/ub.py:64
msgid "Recently Added"
msgstr ""
-#: cps/ub.py:65
+#: cps/ub.py:66
msgid "Show recent books"
msgstr ""
-#: cps/templates/index.xml:17 cps/ub.py:66
+#: cps/templates/index.xml:17 cps/ub.py:67
msgid "Hot Books"
msgstr ""
-#: cps/ub.py:68
+#: cps/ub.py:69
msgid "Show Hot Books"
msgstr ""
-#: cps/templates/index.xml:24 cps/ub.py:70 cps/web.py:616
+#: cps/templates/index.xml:24 cps/ub.py:71 cps/web.py:655
msgid "Top Rated Books"
msgstr ""
-#: cps/ub.py:72
+#: cps/ub.py:73
msgid "Show Top Rated Books"
msgstr ""
-#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:73
-#: cps/web.py:1131
+#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:74
+#: cps/web.py:1222
msgid "Read Books"
msgstr ""
-#: cps/ub.py:75
+#: cps/ub.py:76
msgid "Show read and unread"
msgstr ""
-#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:77
-#: cps/web.py:1134
+#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:78
+#: cps/web.py:1225
msgid "Unread Books"
msgstr ""
-#: cps/ub.py:79
+#: cps/ub.py:80
msgid "Show unread"
msgstr ""
-#: cps/ub.py:80
+#: cps/ub.py:81
msgid "Discover"
msgstr ""
-#: cps/ub.py:82
+#: cps/ub.py:83
msgid "Show random books"
msgstr ""
-#: cps/templates/index.xml:75 cps/ub.py:83 cps/web.py:898
+#: cps/templates/index.xml:75 cps/ub.py:84 cps/web.py:970
msgid "Categories"
msgstr ""
-#: cps/ub.py:85
+#: cps/ub.py:86
msgid "Show category selection"
msgstr ""
#: cps/templates/book_edit.html:84 cps/templates/index.xml:82
-#: cps/templates/search_form.html:53 cps/ub.py:86 cps/web.py:826
+#: cps/templates/search_form.html:53 cps/ub.py:87 cps/web.py:886 cps/web.py:896
msgid "Series"
msgstr ""
-#: cps/ub.py:88
+#: cps/ub.py:89
msgid "Show series selection"
msgstr ""
-#: cps/templates/index.xml:61 cps/ub.py:89
+#: cps/templates/index.xml:61 cps/ub.py:90
msgid "Authors"
msgstr ""
-#: cps/ub.py:91
+#: cps/ub.py:92
msgid "Show author selection"
msgstr ""
-#: cps/templates/index.xml:68 cps/ub.py:93 cps/web.py:810
+#: cps/templates/index.xml:68 cps/ub.py:94 cps/web.py:869
msgid "Publishers"
msgstr ""
-#: cps/ub.py:95
+#: cps/ub.py:96
msgid "Show publisher selection"
msgstr ""
-#: cps/templates/index.xml:89 cps/templates/search_form.html:74 cps/ub.py:96
-#: cps/web.py:881
+#: cps/templates/index.xml:89 cps/templates/search_form.html:74 cps/ub.py:97
+#: cps/web.py:953
msgid "Languages"
msgstr ""
-#: cps/ub.py:99
+#: cps/ub.py:100
msgid "Show language selection"
msgstr ""
-#: cps/templates/index.xml:96 cps/ub.py:100
+#: cps/templates/index.xml:96 cps/ub.py:101
msgid "Ratings"
msgstr ""
-#: cps/ub.py:102
+#: cps/ub.py:103
msgid "Show ratings selection"
msgstr ""
-#: cps/templates/index.xml:104 cps/ub.py:103
+#: cps/templates/index.xml:104 cps/ub.py:104
msgid "File formats"
msgstr ""
-#: cps/ub.py:105
+#: cps/ub.py:106
msgid "Show file formats selection"
msgstr ""
-#: cps/ub.py:107 cps/web.py:1155
+#: cps/ub.py:108 cps/web.py:1249
msgid "Archived Books"
msgstr ""
-#: cps/ub.py:109
+#: cps/ub.py:110
msgid "Show archived books"
msgstr ""
@@ -853,234 +872,241 @@ msgstr ""
msgid "Click on the button below to update to the latest stable version."
msgstr ""
-#: cps/web.py:307
+#: cps/web.py:322
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/web.py:311
+#: cps/web.py:326
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/web.py:359
+#: cps/web.py:374
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/web.py:362
+#: cps/web.py:377
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/web.py:364
+#: cps/web.py:379
msgid "User Successfully Imported"
msgstr ""
-#: cps/web.py:588
+#: cps/web.py:625
msgid "Recently Added Books"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:624
+#: cps/templates/index.html:5 cps/web.py:663
msgid "Discover (Random Books)"
msgstr ""
-#: cps/web.py:652
+#: cps/web.py:691
msgid "Books"
msgstr ""
-#: cps/web.py:679
+#: cps/web.py:718
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:689
+#: cps/web.py:731
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
-#: cps/web.py:703
+#: cps/web.py:745
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:715
+#: cps/web.py:759
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:726
+#: cps/web.py:772
#, python-format
msgid "Series: %(serie)s"
msgstr ""
-#: cps/web.py:737
+#: cps/web.py:785
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:749
+#: cps/web.py:798
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:761
+#: cps/web.py:812
#, python-format
msgid "Category: %(name)s"
msgstr ""
-#: cps/web.py:778
+#: cps/web.py:831
#, python-format
msgid "Language: %(name)s"
msgstr ""
-#: cps/web.py:840
+#: cps/web.py:910
msgid "Ratings list"
msgstr ""
-#: cps/web.py:853
+#: cps/web.py:925
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:73 cps/templates/tasks.html:7 cps/web.py:912
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:984
msgid "Tasks"
msgstr ""
#: cps/templates/book_edit.html:235 cps/templates/feed.xml:33
-#: cps/templates/layout.html:44 cps/templates/layout.html:47
-#: cps/templates/search_form.html:174 cps/web.py:938 cps/web.py:943
+#: cps/templates/layout.html:45 cps/templates/layout.html:48
+#: cps/templates/search_form.html:174 cps/web.py:1010 cps/web.py:1015
msgid "Search"
msgstr ""
-#: cps/web.py:994
+#: cps/web.py:1066
msgid "Published after "
msgstr ""
-#: cps/web.py:1001
+#: cps/web.py:1073
msgid "Published before "
msgstr ""
-#: cps/web.py:1015
+#: cps/web.py:1087
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1017
+#: cps/web.py:1089
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1083 cps/web.py:1097
+#: cps/web.py:1158 cps/web.py:1183
msgid "search"
msgstr ""
-#: cps/web.py:1206
+#: cps/web.py:1213
+#, python-format
+msgid "Custom Column No.%(column)d is not existing in calibre database"
+msgstr ""
+
+#: cps/web.py:1304
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1210
+#: cps/web.py:1308
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1212
+#: cps/web.py:1310
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1229
+#: cps/web.py:1327
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/web.py:1230 cps/web.py:1236 cps/web.py:1261 cps/web.py:1265
-#: cps/web.py:1270 cps/web.py:1274
+#: cps/web.py:1328 cps/web.py:1338 cps/web.py:1362 cps/web.py:1366
+#: cps/web.py:1371 cps/web.py:1375
msgid "register"
msgstr ""
-#: cps/web.py:1263
+#: cps/web.py:1364
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1266
+#: cps/web.py:1367
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1269
+#: cps/web.py:1370
msgid "This username or e-mail address is already in use."
msgstr ""
-#: cps/web.py:1286
+#: cps/web.py:1387
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1303
+#: cps/web.py:1404
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1309
+#: cps/web.py:1410
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1313 cps/web.py:1337
+#: cps/web.py:1414 cps/web.py:1438
msgid "Wrong Username or Password"
msgstr ""
-#: cps/web.py:1320
+#: cps/web.py:1421
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1326
+#: cps/web.py:1427
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1332
+#: cps/web.py:1433
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1341 cps/web.py:1368
+#: cps/web.py:1442 cps/web.py:1469
msgid "login"
msgstr ""
-#: cps/web.py:1380 cps/web.py:1414
+#: cps/web.py:1481 cps/web.py:1515
msgid "Token not found"
msgstr ""
-#: cps/web.py:1389 cps/web.py:1422
+#: cps/web.py:1490 cps/web.py:1523
msgid "Token has expired"
msgstr ""
-#: cps/web.py:1398
+#: cps/web.py:1499
msgid "Success! Please return to your device"
msgstr ""
-#: cps/web.py:1479 cps/web.py:1524 cps/web.py:1530
+#: cps/web.py:1580 cps/web.py:1625 cps/web.py:1631
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:1526
+#: cps/web.py:1627
msgid "Profile updated"
msgstr ""
-#: cps/web.py:1543 cps/web.py:1647
-msgid "Error opening eBook. File does not exist or file is not accessible:"
-msgstr ""
-
-#: cps/web.py:1555 cps/web.py:1558 cps/web.py:1561 cps/web.py:1568
-#: cps/web.py:1573
+#: cps/web.py:1656 cps/web.py:1659 cps/web.py:1662 cps/web.py:1669
+#: cps/web.py:1674
msgid "Read a Book"
msgstr ""
-#: cps/web.py:1584
-msgid "Error opening eBook. File does not exist or file is not accessible."
+#: cps/worker.py:313
+#, python-format
+msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/worker.py:324
+#: cps/worker.py:373
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr ""
-#: cps/worker.py:335
+#: cps/worker.py:406
#, python-format
-msgid "Kindlegen failed with Error %(error)s. Message: %(message)s"
+msgid "Kepubify-converter failed: %(error)s"
+msgstr ""
+
+#: cps/worker.py:430
+#, python-format
+msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
#: cps/templates/admin.html:9
@@ -1088,17 +1114,17 @@ msgid "Users"
msgstr ""
#: cps/templates/admin.html:12 cps/templates/login.html:8
-#: cps/templates/login.html:9 cps/templates/register.html:7
-#: cps/templates/user_edit.html:8
+#: cps/templates/login.html:9 cps/templates/register.html:8
+#: cps/templates/user_edit.html:9
msgid "Username"
msgstr ""
-#: cps/templates/admin.html:13 cps/templates/register.html:11
-#: cps/templates/user_edit.html:13
+#: cps/templates/admin.html:13 cps/templates/register.html:13
+#: cps/templates/user_edit.html:14
msgid "E-mail Address"
msgstr ""
-#: cps/templates/admin.html:14 cps/templates/user_edit.html:26
+#: cps/templates/admin.html:14 cps/templates/user_edit.html:27
msgid "Send to Kindle E-mail Address"
msgstr ""
@@ -1106,183 +1132,194 @@ msgstr ""
msgid "Downloads"
msgstr ""
-#: cps/templates/admin.html:16 cps/templates/layout.html:76
+#: cps/templates/admin.html:16 cps/templates/layout.html:77
msgid "Admin"
msgstr ""
-#: cps/templates/admin.html:17 cps/templates/detail.html:18
+#: cps/templates/admin.html:17 cps/templates/login.html:12
+#: cps/templates/login.html:13 cps/templates/user_edit.html:22
+msgid "Password"
+msgstr ""
+
+#: cps/templates/admin.html:18 cps/templates/layout.html:66
+msgid "Upload"
+msgstr ""
+
+#: cps/templates/admin.html:19 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/shelfdown.html:62
msgid "Download"
msgstr ""
-#: cps/templates/admin.html:18
+#: cps/templates/admin.html:20
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:19 cps/templates/layout.html:65
-msgid "Upload"
-msgstr ""
-
-#: cps/templates/admin.html:20
+#: cps/templates/admin.html:21
msgid "Edit"
msgstr ""
-#: cps/templates/admin.html:38
+#: cps/templates/admin.html:22 cps/templates/book_edit.html:16
+#: cps/templates/book_edit.html:216 cps/templates/email_edit.html:100
+#: cps/templates/user_edit.html:66 cps/templates/user_edit.html:179
+msgid "Delete"
+msgstr ""
+
+#: cps/templates/admin.html:23
+msgid "Public Shelf"
+msgstr ""
+
+#: cps/templates/admin.html:44
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:40 cps/templates/admin.html:41
+#: cps/templates/admin.html:46 cps/templates/admin.html:47
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:48
+#: cps/templates/admin.html:54
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:51 cps/templates/email_edit.html:11
+#: cps/templates/admin.html:57 cps/templates/email_edit.html:11
msgid "SMTP Hostname"
msgstr ""
-#: cps/templates/admin.html:52 cps/templates/email_edit.html:15
+#: cps/templates/admin.html:58 cps/templates/email_edit.html:15
msgid "SMTP Port"
msgstr ""
-#: cps/templates/admin.html:53 cps/templates/email_edit.html:19
+#: cps/templates/admin.html:59 cps/templates/email_edit.html:19
msgid "Encryption"
msgstr ""
-#: cps/templates/admin.html:54 cps/templates/email_edit.html:27
+#: cps/templates/admin.html:60 cps/templates/email_edit.html:27
msgid "SMTP Login"
msgstr ""
-#: cps/templates/admin.html:55 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:61 cps/templates/email_edit.html:35
msgid "From E-mail"
msgstr ""
-#: cps/templates/admin.html:65
-msgid "Edit E-mail Server Settings"
-msgstr ""
-
-#: cps/templates/admin.html:71
+#: cps/templates/admin.html:77
msgid "Configuration"
msgstr ""
-#: cps/templates/admin.html:74
+#: cps/templates/admin.html:80
msgid "Calibre Database Directory"
msgstr ""
-#: cps/templates/admin.html:78 cps/templates/config_edit.html:122
+#: cps/templates/admin.html:84 cps/templates/config_edit.html:129
msgid "Log Level"
msgstr ""
-#: cps/templates/admin.html:82
+#: cps/templates/admin.html:88
msgid "Port"
msgstr ""
-#: cps/templates/admin.html:88 cps/templates/config_view_edit.html:27
+#: cps/templates/admin.html:94 cps/templates/config_view_edit.html:27
msgid "Books per Page"
msgstr ""
-#: cps/templates/admin.html:92
+#: cps/templates/admin.html:98
msgid "Uploads"
msgstr ""
-#: cps/templates/admin.html:96
+#: cps/templates/admin.html:102
msgid "Anonymous Browsing"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:106
msgid "Public Registration"
msgstr ""
-#: cps/templates/admin.html:104
+#: cps/templates/admin.html:110
msgid "Magic Link Remote Login"
msgstr ""
-#: cps/templates/admin.html:108
+#: cps/templates/admin.html:114
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:113
+#: cps/templates/admin.html:119
msgid "Reverse proxy header name"
msgstr ""
-#: cps/templates/admin.html:118
+#: cps/templates/admin.html:124
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:119
+#: cps/templates/admin.html:125
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:125
+#: cps/templates/admin.html:131
msgid "Administration"
msgstr ""
-#: cps/templates/admin.html:126
+#: cps/templates/admin.html:132
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:133
msgid "Reconnect Calibre Database"
msgstr ""
-#: cps/templates/admin.html:128
+#: cps/templates/admin.html:134
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:129
+#: cps/templates/admin.html:135
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:141
msgid "Update"
msgstr ""
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:145
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:140
+#: cps/templates/admin.html:146
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:146
+#: cps/templates/admin.html:152
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:152
+#: cps/templates/admin.html:158
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:159
msgid "Perform Update"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:171
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:170 cps/templates/admin.html:184
-#: cps/templates/admin.html:204 cps/templates/shelf.html:72
+#: cps/templates/admin.html:176 cps/templates/admin.html:190
+#: cps/templates/admin.html:210 cps/templates/shelf.html:72
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:171 cps/templates/admin.html:185
+#: cps/templates/admin.html:177 cps/templates/admin.html:191
#: cps/templates/book_edit.html:187 cps/templates/book_edit.html:217
-#: cps/templates/config_edit.html:365 cps/templates/config_view_edit.html:151
-#: cps/templates/email_edit.html:40 cps/templates/email_edit.html:92
+#: cps/templates/config_edit.html:387 cps/templates/config_view_edit.html:151
+#: cps/templates/email_edit.html:47 cps/templates/email_edit.html:101
#: cps/templates/shelf.html:73 cps/templates/shelf_edit.html:19
-#: cps/templates/user_edit.html:137
+#: cps/templates/user_edit.html:139
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:189
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:195
+#: cps/templates/admin.html:201
msgid "Updating, please do not reload this page"
msgstr ""
@@ -1294,7 +1331,8 @@ msgstr ""
msgid "In Library"
msgstr ""
-#: cps/templates/author.html:34 cps/templates/list.html:14
+#: cps/templates/author.html:34 cps/templates/book_table.html:14
+#: cps/templates/grid.html:14 cps/templates/list.html:14
#: cps/templates/search.html:38
msgid "All"
msgstr ""
@@ -1318,12 +1356,6 @@ msgstr ""
msgid "Delete formats:"
msgstr ""
-#: cps/templates/book_edit.html:16 cps/templates/book_edit.html:216
-#: cps/templates/email_edit.html:91 cps/templates/user_edit.html:65
-#: cps/templates/user_edit.html:177
-msgid "Delete"
-msgstr ""
-
#: cps/templates/book_edit.html:24
msgid "Convert book format:"
msgstr ""
@@ -1409,7 +1441,7 @@ msgid "Publisher"
msgstr ""
#: cps/templates/book_edit.html:116 cps/templates/detail.html:123
-#: cps/templates/user_edit.html:31
+#: cps/templates/user_edit.html:32
msgid "Language"
msgstr ""
@@ -1433,9 +1465,9 @@ msgstr ""
msgid "Fetch Metadata"
msgstr ""
-#: cps/templates/book_edit.html:186 cps/templates/config_edit.html:362
-#: cps/templates/config_view_edit.html:150 cps/templates/email_edit.html:38
-#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:135
+#: cps/templates/book_edit.html:186 cps/templates/config_edit.html:384
+#: cps/templates/config_view_edit.html:150 cps/templates/email_edit.html:45
+#: cps/templates/shelf_edit.html:17 cps/templates/user_edit.html:137
msgid "Save"
msgstr ""
@@ -1475,9 +1507,9 @@ msgstr ""
msgid "Loading..."
msgstr ""
-#: cps/templates/book_edit.html:259 cps/templates/layout.html:189
-#: cps/templates/layout.html:221 cps/templates/modal_restriction.html:34
-#: cps/templates/user_edit.html:164
+#: cps/templates/book_edit.html:259 cps/templates/layout.html:190
+#: cps/templates/layout.html:222 cps/templates/modal_restriction.html:34
+#: cps/templates/user_edit.html:166
msgid "Close"
msgstr ""
@@ -1501,283 +1533,275 @@ msgstr ""
msgid "Location of Calibre Database"
msgstr ""
-#: cps/templates/config_edit.html:25
+#: cps/templates/config_edit.html:28
msgid "Use Google Drive?"
msgstr ""
-#: cps/templates/config_edit.html:31
+#: cps/templates/config_edit.html:34
msgid "Google Drive config problem"
msgstr ""
-#: cps/templates/config_edit.html:37
+#: cps/templates/config_edit.html:40
msgid "Authenticate Google Drive"
msgstr ""
-#: cps/templates/config_edit.html:41
+#: cps/templates/config_edit.html:44
msgid "Please hit submit to continue with setup"
msgstr ""
-#: cps/templates/config_edit.html:44
+#: cps/templates/config_edit.html:47
msgid "Please finish Google Drive setup after login"
msgstr ""
-#: cps/templates/config_edit.html:49
+#: cps/templates/config_edit.html:52
msgid "Google Drive Calibre folder"
msgstr ""
-#: cps/templates/config_edit.html:57
+#: cps/templates/config_edit.html:60
msgid "Metadata Watch Channel ID"
msgstr ""
-#: cps/templates/config_edit.html:60
+#: cps/templates/config_edit.html:63
msgid "Revoke"
msgstr ""
-#: cps/templates/config_edit.html:80
+#: cps/templates/config_edit.html:83
msgid "Server Configuration"
msgstr ""
-#: cps/templates/config_edit.html:87
+#: cps/templates/config_edit.html:90
msgid "Server Port"
msgstr ""
-#: cps/templates/config_edit.html:91
+#: cps/templates/config_edit.html:93
msgid "SSL certfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:95
+#: cps/templates/config_edit.html:100
msgid "SSL Keyfile location (leave it empty for non-SSL Servers)"
msgstr ""
-#: cps/templates/config_edit.html:99
+#: cps/templates/config_edit.html:108
msgid "Update Channel"
msgstr ""
-#: cps/templates/config_edit.html:101
+#: cps/templates/config_edit.html:110
msgid "Stable"
msgstr ""
-#: cps/templates/config_edit.html:102
-msgid "Stable (Automatic)"
-msgstr ""
-
-#: cps/templates/config_edit.html:103
+#: cps/templates/config_edit.html:111
msgid "Nightly"
msgstr ""
-#: cps/templates/config_edit.html:104
-msgid "Nightly (Automatic)"
-msgstr ""
-
-#: cps/templates/config_edit.html:115
+#: cps/templates/config_edit.html:122
msgid "Logfile Configuration"
msgstr ""
-#: cps/templates/config_edit.html:131
+#: cps/templates/config_edit.html:138
msgid "Location and name of logfile (calibre-web.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:136
+#: cps/templates/config_edit.html:143
msgid "Enable Access Log"
msgstr ""
-#: cps/templates/config_edit.html:139
+#: cps/templates/config_edit.html:146
msgid "Location and name of access logfile (access.log for no entry)"
msgstr ""
-#: cps/templates/config_edit.html:150
+#: cps/templates/config_edit.html:157
msgid "Feature Configuration"
msgstr ""
-#: cps/templates/config_edit.html:158
+#: cps/templates/config_edit.html:165
msgid "Enable Uploads"
msgstr ""
-#: cps/templates/config_edit.html:162
-msgid "Enable Anonymous Browsing"
-msgstr ""
-
-#: cps/templates/config_edit.html:166
-msgid "Enable Public Registration"
-msgstr ""
-
-#: cps/templates/config_edit.html:170
-msgid "Enable Magic Link Remote Login"
+#: cps/templates/config_edit.html:169
+msgid "Allowed Upload Fileformats"
msgstr ""
#: cps/templates/config_edit.html:175
+msgid "Enable Anonymous Browsing"
+msgstr ""
+
+#: cps/templates/config_edit.html:179
+msgid "Enable Public Registration"
+msgstr ""
+
+#: cps/templates/config_edit.html:184
+msgid "Use E-Mail as Username"
+msgstr ""
+
+#: cps/templates/config_edit.html:189
+msgid "Enable Magic Link Remote Login"
+msgstr ""
+
+#: cps/templates/config_edit.html:194
msgid "Enable Kobo sync"
msgstr ""
-#: cps/templates/config_edit.html:180
+#: cps/templates/config_edit.html:199
msgid "Proxy unknown requests to Kobo Store"
msgstr ""
-#: cps/templates/config_edit.html:187
+#: cps/templates/config_edit.html:206
msgid "Use Goodreads"
msgstr ""
-#: cps/templates/config_edit.html:188
+#: cps/templates/config_edit.html:207
msgid "Create an API Key"
msgstr ""
-#: cps/templates/config_edit.html:192
+#: cps/templates/config_edit.html:211
msgid "Goodreads API Key"
msgstr ""
-#: cps/templates/config_edit.html:196
+#: cps/templates/config_edit.html:215
msgid "Goodreads API Secret"
msgstr ""
-#: cps/templates/config_edit.html:203
+#: cps/templates/config_edit.html:222
msgid "Allow Reverse Proxy Authentication"
msgstr ""
-#: cps/templates/config_edit.html:207
+#: cps/templates/config_edit.html:226
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/config_edit.html:214
+#: cps/templates/config_edit.html:233
msgid "Login type"
msgstr ""
-#: cps/templates/config_edit.html:216
+#: cps/templates/config_edit.html:235
msgid "Use Standard Authentication"
msgstr ""
-#: cps/templates/config_edit.html:218
+#: cps/templates/config_edit.html:237
msgid "Use LDAP Authentication"
msgstr ""
-#: cps/templates/config_edit.html:221
+#: cps/templates/config_edit.html:240
msgid "Use OAuth"
msgstr ""
-#: cps/templates/config_edit.html:228
+#: cps/templates/config_edit.html:247
msgid "LDAP Server Host Name or IP Address"
msgstr ""
-#: cps/templates/config_edit.html:232
+#: cps/templates/config_edit.html:251
msgid "LDAP Server Port"
msgstr ""
-#: cps/templates/config_edit.html:236
+#: cps/templates/config_edit.html:255
msgid "LDAP Encryption"
msgstr ""
-#: cps/templates/config_edit.html:238 cps/templates/config_view_edit.html:61
+#: cps/templates/config_edit.html:257 cps/templates/config_view_edit.html:61
#: cps/templates/email_edit.html:21
msgid "None"
msgstr ""
-#: cps/templates/config_edit.html:239
+#: cps/templates/config_edit.html:258
msgid "TLS"
msgstr ""
-#: cps/templates/config_edit.html:240
+#: cps/templates/config_edit.html:259
msgid "SSL"
msgstr ""
-#: cps/templates/config_edit.html:245
+#: cps/templates/config_edit.html:264
msgid "LDAP Certificate Path"
msgstr ""
-#: cps/templates/config_edit.html:250
+#: cps/templates/config_edit.html:269
msgid "LDAP Authentication"
msgstr ""
-#: cps/templates/config_edit.html:252
+#: cps/templates/config_edit.html:271
msgid "Anonymous"
msgstr ""
-#: cps/templates/config_edit.html:253
+#: cps/templates/config_edit.html:272
msgid "Unauthenticated"
msgstr ""
-#: cps/templates/config_edit.html:254
+#: cps/templates/config_edit.html:273
msgid "Simple"
msgstr ""
-#: cps/templates/config_edit.html:259
+#: cps/templates/config_edit.html:278
msgid "LDAP Administrator Username"
msgstr ""
-#: cps/templates/config_edit.html:265
+#: cps/templates/config_edit.html:284
msgid "LDAP Administrator Password"
msgstr ""
-#: cps/templates/config_edit.html:270
+#: cps/templates/config_edit.html:289
msgid "LDAP Distinguished Name (DN)"
msgstr ""
-#: cps/templates/config_edit.html:274
+#: cps/templates/config_edit.html:293
msgid "LDAP User Object Filter"
msgstr ""
-#: cps/templates/config_edit.html:279
+#: cps/templates/config_edit.html:298
msgid "LDAP Server is OpenLDAP?"
msgstr ""
-#: cps/templates/config_edit.html:281
+#: cps/templates/config_edit.html:300
msgid "Following Settings are Needed For User Import"
msgstr ""
-#: cps/templates/config_edit.html:283
+#: cps/templates/config_edit.html:302
msgid "LDAP Group Object Filter"
msgstr ""
-#: cps/templates/config_edit.html:287
+#: cps/templates/config_edit.html:306
msgid "LDAP Group Name"
msgstr ""
-#: cps/templates/config_edit.html:291
+#: cps/templates/config_edit.html:310
msgid "LDAP Group Members Field"
msgstr ""
-#: cps/templates/config_edit.html:300
+#: cps/templates/config_edit.html:319
#, python-format
msgid "Obtain %(provider)s OAuth Credential"
msgstr ""
-#: cps/templates/config_edit.html:303
+#: cps/templates/config_edit.html:322
#, python-format
msgid "%(provider)s OAuth Client Id"
msgstr ""
-#: cps/templates/config_edit.html:307
+#: cps/templates/config_edit.html:326
#, python-format
msgid "%(provider)s OAuth Client Secret"
msgstr ""
-#: cps/templates/config_edit.html:323
+#: cps/templates/config_edit.html:342
msgid "External binaries"
msgstr ""
-#: cps/templates/config_edit.html:331
-msgid "No Converter"
+#: cps/templates/config_edit.html:348
+msgid "Path to Calibre E-Book Converter"
msgstr ""
-#: cps/templates/config_edit.html:333
-msgid "Use Kindlegen"
+#: cps/templates/config_edit.html:356
+msgid "Calibre E-Book Converter Settings"
msgstr ""
-#: cps/templates/config_edit.html:335
-msgid "Use calibre's ebook converter"
+#: cps/templates/config_edit.html:359
+msgid "Path to Kepubify E-Book Converter"
msgstr ""
-#: cps/templates/config_edit.html:339
-msgid "E-Book converter settings"
-msgstr ""
-
-#: cps/templates/config_edit.html:343
-msgid "Path to convertertool"
-msgstr ""
-
-#: cps/templates/config_edit.html:349
+#: cps/templates/config_edit.html:367
msgid "Location of Unrar binary"
msgstr ""
-#: cps/templates/config_edit.html:368 cps/templates/layout.html:84
+#: cps/templates/config_edit.html:390 cps/templates/layout.html:85
#: cps/templates/login.html:4 cps/templates/login.html:20
msgid "Login"
msgstr ""
@@ -1830,35 +1854,35 @@ msgstr ""
msgid "Default Settings for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:88 cps/templates/user_edit.html:92
+#: cps/templates/config_view_edit.html:88 cps/templates/user_edit.html:94
msgid "Admin User"
msgstr ""
-#: cps/templates/config_view_edit.html:92 cps/templates/user_edit.html:97
+#: cps/templates/config_view_edit.html:92 cps/templates/user_edit.html:99
msgid "Allow Downloads"
msgstr ""
-#: cps/templates/config_view_edit.html:96 cps/templates/user_edit.html:101
+#: cps/templates/config_view_edit.html:96 cps/templates/user_edit.html:103
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:105
+#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr ""
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:109
+#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:111
msgid "Allow Edit"
msgstr ""
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:113
+#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:115
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:118
+#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:120
msgid "Allow Changing Password"
msgstr ""
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:122
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:124
msgid "Allow Editing Public Shelves"
msgstr ""
@@ -1866,11 +1890,11 @@ msgstr ""
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:80
+#: cps/templates/config_view_edit.html:142 cps/templates/user_edit.html:82
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:144 cps/templates/user_edit.html:83
+#: cps/templates/config_view_edit.html:144 cps/templates/user_edit.html:85
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -1910,33 +1934,33 @@ msgstr ""
msgid "Read"
msgstr ""
-#: cps/templates/detail.html:208
+#: cps/templates/detail.html:209
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:208
+#: cps/templates/detail.html:209
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:209
+#: cps/templates/detail.html:210
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:221
msgid "Description:"
msgstr ""
-#: cps/templates/detail.html:232 cps/templates/search.html:14
+#: cps/templates/detail.html:234 cps/templates/search.html:14
msgid "Add to shelf"
msgstr ""
-#: cps/templates/detail.html:243 cps/templates/detail.html:260
-#: cps/templates/feed.xml:79 cps/templates/layout.html:136
-#: cps/templates/layout.html:140 cps/templates/search.html:20
+#: cps/templates/detail.html:245 cps/templates/detail.html:262
+#: cps/templates/feed.xml:79 cps/templates/layout.html:137
+#: cps/templates/layout.html:141 cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:274
+#: cps/templates/detail.html:276
msgid "Edit Metadata"
msgstr ""
@@ -1952,35 +1976,39 @@ msgstr ""
msgid "SMTP Password"
msgstr ""
-#: cps/templates/email_edit.html:39
+#: cps/templates/email_edit.html:38
+msgid "Attachment Size Limit"
+msgstr ""
+
+#: cps/templates/email_edit.html:46
msgid "Save and Send Test E-mail"
msgstr ""
-#: cps/templates/email_edit.html:43
+#: cps/templates/email_edit.html:51
msgid "Allowed Domains (Whitelist)"
msgstr ""
-#: cps/templates/email_edit.html:46 cps/templates/email_edit.html:72
+#: cps/templates/email_edit.html:54 cps/templates/email_edit.html:80
msgid "Add Domain"
msgstr ""
-#: cps/templates/email_edit.html:49 cps/templates/email_edit.html:75
+#: cps/templates/email_edit.html:57 cps/templates/email_edit.html:83
msgid "Add"
msgstr ""
-#: cps/templates/email_edit.html:54 cps/templates/email_edit.html:64
+#: cps/templates/email_edit.html:62 cps/templates/email_edit.html:72
msgid "Enter domainname"
msgstr ""
-#: cps/templates/email_edit.html:60
+#: cps/templates/email_edit.html:68
msgid "Denied Domains (Blacklist)"
msgstr ""
-#: cps/templates/email_edit.html:90
+#: cps/templates/email_edit.html:99
msgid "Are you sure you want to delete this domain?"
msgstr ""
-#: cps/templates/feed.xml:21 cps/templates/layout.html:173
+#: cps/templates/feed.xml:21 cps/templates/layout.html:174
msgid "Next"
msgstr ""
@@ -2056,7 +2084,7 @@ msgstr ""
msgid "Books ordered by file formats"
msgstr ""
-#: cps/templates/index.xml:111 cps/templates/layout.html:134
+#: cps/templates/index.xml:111 cps/templates/layout.html:135
msgid "Shelves"
msgstr ""
@@ -2064,85 +2092,80 @@ msgstr ""
msgid "Books organized in shelves"
msgstr ""
-#: cps/templates/layout.html:28
+#: cps/templates/layout.html:29
msgid "Home"
msgstr ""
-#: cps/templates/layout.html:28 cps/templates/shelf_order.html:32
-#: cps/templates/user_edit.html:178
+#: cps/templates/layout.html:29 cps/templates/shelf_order.html:32
+#: cps/templates/user_edit.html:180
msgid "Back"
msgstr ""
-#: cps/templates/layout.html:34
+#: cps/templates/layout.html:35
msgid "Toggle Navigation"
msgstr ""
-#: cps/templates/layout.html:45
+#: cps/templates/layout.html:46
msgid "Search Library"
msgstr ""
-#: cps/templates/layout.html:55
+#: cps/templates/layout.html:56
msgid "Advanced Search"
msgstr ""
-#: cps/templates/layout.html:76 cps/templates/read.html:71
+#: cps/templates/layout.html:77 cps/templates/read.html:71
#: cps/templates/readcbr.html:83 cps/templates/readcbr.html:107
msgid "Settings"
msgstr ""
-#: cps/templates/layout.html:78
+#: cps/templates/layout.html:79
msgid "Account"
msgstr ""
-#: cps/templates/layout.html:80
+#: cps/templates/layout.html:81
msgid "Logout"
msgstr ""
-#: cps/templates/layout.html:85 cps/templates/register.html:14
+#: cps/templates/layout.html:86 cps/templates/register.html:16
msgid "Register"
msgstr ""
-#: cps/templates/layout.html:116 cps/templates/layout.html:220
+#: cps/templates/layout.html:117 cps/templates/layout.html:221
msgid "Uploading..."
msgstr ""
-#: cps/templates/layout.html:117
+#: cps/templates/layout.html:118
msgid "Please do not refresh the page"
msgstr ""
-#: cps/templates/layout.html:127
+#: cps/templates/layout.html:128
msgid "Browse"
msgstr ""
-#: cps/templates/layout.html:138
+#: cps/templates/layout.html:139
msgid "Your Shelves"
msgstr ""
-#: cps/templates/layout.html:144 cps/templates/stats.html:3
+#: cps/templates/layout.html:145 cps/templates/stats.html:3
msgid "About"
msgstr ""
-#: cps/templates/layout.html:158
+#: cps/templates/layout.html:159
msgid "Previous"
msgstr ""
-#: cps/templates/layout.html:185
+#: cps/templates/layout.html:186
msgid "Book Details"
msgstr ""
-#: cps/templates/layout.html:219
+#: cps/templates/layout.html:220
msgid "Upload done, processing, please wait..."
msgstr ""
-#: cps/templates/layout.html:222
+#: cps/templates/layout.html:223
msgid "Error"
msgstr ""
-#: cps/templates/login.html:12 cps/templates/login.html:13
-#: cps/templates/user_edit.html:21
-msgid "Password"
-msgstr ""
-
#: cps/templates/login.html:17
msgid "Remember Me"
msgstr ""
@@ -2311,11 +2334,11 @@ msgstr ""
msgid "Register New Account"
msgstr ""
-#: cps/templates/register.html:8
+#: cps/templates/register.html:9
msgid "Choose a username"
msgstr ""
-#: cps/templates/register.html:12
+#: cps/templates/register.html:14
msgid "Your email address"
msgstr ""
@@ -2475,55 +2498,55 @@ msgstr ""
msgid "Hide all tasks"
msgstr ""
-#: cps/templates/user_edit.html:18
+#: cps/templates/user_edit.html:19
msgid "Reset user Password"
msgstr ""
-#: cps/templates/user_edit.html:41
+#: cps/templates/user_edit.html:42
msgid "Language of Books"
msgstr ""
-#: cps/templates/user_edit.html:43
+#: cps/templates/user_edit.html:44
msgid "Show All"
msgstr ""
-#: cps/templates/user_edit.html:52
+#: cps/templates/user_edit.html:53
msgid "OAuth Settings"
msgstr ""
-#: cps/templates/user_edit.html:54
+#: cps/templates/user_edit.html:55
msgid "Link"
msgstr ""
-#: cps/templates/user_edit.html:56
+#: cps/templates/user_edit.html:57
msgid "Unlink"
msgstr ""
-#: cps/templates/user_edit.html:62
+#: cps/templates/user_edit.html:63
msgid "Kobo Sync Token"
msgstr ""
-#: cps/templates/user_edit.html:64
+#: cps/templates/user_edit.html:65
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:84
+#: cps/templates/user_edit.html:86
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:129
+#: cps/templates/user_edit.html:131
msgid "Delete User"
msgstr ""
-#: cps/templates/user_edit.html:144
+#: cps/templates/user_edit.html:146
msgid "Recent Downloads"
msgstr ""
-#: cps/templates/user_edit.html:160
+#: cps/templates/user_edit.html:162
msgid "Generate Kobo Auth URL"
msgstr ""
-#: cps/templates/user_edit.html:176
+#: cps/templates/user_edit.html:178
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
diff --git a/test/Calibre-Web TestSummary.html b/test/Calibre-Web TestSummary.html
index 1feb255d..a2844ee5 100755
--- a/test/Calibre-Web TestSummary.html
+++ b/test/Calibre-Web TestSummary.html
@@ -36,17 +36,17 @@
-
Start Time: 2020-05-23 12:52:51
+
Start Time: 2020-05-29 07:01:47
-
Stop Time: 2020-05-23 13:50:07
+
Stop Time: 2020-05-29 08:01:43
-
Duration: 48:28 min
+
Duration: 50:44 min
@@ -442,8 +442,8 @@
+
test_upload_metadata_cbt
|
-
-
-
-
-
-
-
- |
+ PASS |
@@ -505,13 +483,13 @@ AssertionError: 'Test 执 to' != 'book'
@@ -564,7 +542,7 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_custom_rating
+ test_edit_custom_categories
|
PASS |
@@ -573,7 +551,7 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_custom_single_select
+ test_edit_custom_float
|
PASS |
@@ -582,7 +560,7 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_custom_text
+ test_edit_custom_int
|
PASS |
@@ -591,7 +569,7 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_language
+ test_edit_custom_rating
|
PASS |
@@ -600,42 +578,25 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_publisher
+ test_edit_custom_single_select
|
PASS |
-
+
- test_edit_publishing_date
- |
-
-
-
-
-
-
-
+ test_edit_custom_text
|
+ PASS |
- test_edit_rating
+ test_edit_language
|
PASS |
@@ -644,35 +605,26 @@ AssertionError: 'Test 执 to' != 'book'
- test_edit_series
+ test_edit_publisher
|
PASS |
-
+
- test_edit_title
- |
- PASS |
-
-
-
-
-
-
- test_rename_uppercase_lowercase
+ test_edit_publishing_date
|
-
+
- |