diff --git a/cps/static/css/caliBlur.css b/cps/static/css/caliBlur.css
index 3b226acb..8882b84b 100644
--- a/cps/static/css/caliBlur.css
+++ b/cps/static/css/caliBlur.css
@@ -3293,6 +3293,10 @@ div.btn-group[role=group][aria-label="Download, send to Kindle, reading"] .dropd
left: 0 !important;
overflow-y: auto;
}
+#add-to-shelves {
+ max-height: calc(100% - 120px);
+ overflow-y: auto;
+}
.dropdown-menu > li > a {
color: hsla(0, 0%, 100%, .7);
diff --git a/cps/static/js/main.js b/cps/static/js/main.js
index 7b224976..15bdfe25 100644
--- a/cps/static/js/main.js
+++ b/cps/static/js/main.js
@@ -704,7 +704,7 @@ $(function() {
method:"post",
contentType: "application/json; charset=utf-8",
dataType: "json",
- url: window.location.pathname + "/../../ajax/view",
+ url: window.location.pathname + "/../ajax/view",
data: "{\"series\": {\"series_view\": \""+ view +"\"}}",
success: function success() {
location.reload();
diff --git a/cps/static/js/table.js b/cps/static/js/table.js
index ad46025c..1cef6dda 100644
--- a/cps/static/js/table.js
+++ b/cps/static/js/table.js
@@ -74,7 +74,12 @@ $(function() {
});
});
- $("#merge_books").click(function() {
+ $("#merge_books").click(function(event) {
+ if ($(this).hasClass("disabled")) {
+ event.stopPropagation()
+ } else {
+ $('#mergeModal').modal("show");
+ }
$.ajax({
method:"post",
contentType: "application/json; charset=utf-8",
diff --git a/cps/templates/book_table.html b/cps/templates/book_table.html
index 7cc0c51a..91bd3f56 100644
--- a/cps/templates/book_table.html
+++ b/cps/templates/book_table.html
@@ -21,7 +21,7 @@
{{_(title)}}
{% if entries[0] %}
diff --git a/cps/templates/list.html b/cps/templates/list.html
index c68bda10..599b330b 100644
--- a/cps/templates/list.html
+++ b/cps/templates/list.html
@@ -20,7 +20,7 @@
{% if data == "series" %}
-
+
{% endif %}
diff --git a/cps/templates/user_table.html b/cps/templates/user_table.html
index 0a14d692..9b44623b 100644
--- a/cps/templates/user_table.html
+++ b/cps/templates/user_table.html
@@ -147,7 +147,7 @@
{{ user_checkbox_row("role", "delete_role", _('Delete'), visiblility, all_roles)}}
{{ user_checkbox_row("role", "edit_shelf_role", _('Edit Public Shelves'), visiblility, all_roles)}}
{% if kobo_support %}
- {{ user_single_checkbox_row("kobo_only_shelves_sync", _('Sync Selected Shelves with Kobo'))}}
+ {{ user_single_checkbox_row("kobo_only_shelves_sync", _('Sync selected Shelves with Kobo'))}}
{% endif %}
{{ user_checkbox_row("sidebar_view", "detail_random", _('Show Random Books in Detail View'), visiblility, sidebar_settings)}}
{{ user_checkbox_row("sidebar_view", "sidebar_language", _('Show language selection'), visiblility, sidebar_settings)}}
diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo
index e3b47784..2cc71889 100644
Binary files a/cps/translations/cs/LC_MESSAGES/messages.mo and b/cps/translations/cs/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/cs/LC_MESSAGES/messages.po b/cps/translations/cs/LC_MESSAGES/messages.po
index 9a01285b..e666caac 100644
--- a/cps/translations/cs/LC_MESSAGES/messages.po
+++ b/cps/translations/cs/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-06-09 21:11+0100\n"
"Last-Translator: Lukas Heroudek \n"
"Language: cs_CZ\n"
@@ -29,434 +29,434 @@ msgstr "není nainstalováno"
msgid "Statistics"
msgstr "Statistika"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Server restartován, znovu načtěte stránku"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Vypínám server, zavřete okno"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Úspěšně obnovené připojení"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Neznámý příkaz"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Neznámý"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Stránka správce"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Základní konfigurace"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Konfigurace uživatelského rozhraní"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Uživatel admin"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Vše"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Uživatel nenalezen"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Zobrazit vše"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Nezbývá žádný správce, nelze odebrat roli správce"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Konfigurace Calibre-Web aktualizována"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Opravdu chcete odstranit Kobo token?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Jste si jisti, že chcete odstranit tuto polici?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Opravdu chcete vypnout?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Zakázat"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Povolit"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json není nakonfigurováno pro webové aplikace"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění zápisového souboru není platné. Určete prosím platnou polohu"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění zápisového souboru pro přístup není platné. Určete prosím platnou polohu"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Prosím zadejte LDAP poskytovatele, port, DN a Identifikátor objektu uživatele"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Filtr objektů skupiny LDAP musí mít jeden “%s” formátový identifikátor"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr objektů skupiny LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Filtr uživatelských objektů LDAP musí mít jeden “%s” formátový identifikátor"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr uživatelských objektů LDAP má nesrovnatelnou závorku"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Umístění databáze není platné, opravte prosím cestu"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Databáze není zapisovatelná"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění souboru klíčů není platné, zadejte prosím správnou cestu"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Umístění certifikátu není platné, zadejte prosím správnou cestu"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Konfigurace funkcí"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Vyplňte všechna pole!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-mail není z platné domény"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Přidat nového uživatele"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Uživatel '%(user)s' vytvořen"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdívku."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Uživatel '%(nick)s' smazán"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Nezbývá žádný správce, nemůžete jej odstranit"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Upravit uživatele %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Uživatel '%(nick)s' aktualizován"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Neznámá chyba. Opakujte prosím později."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Změnit SMTP nastavení"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Při odesílání zkušebního e-mailu došlo k chybě: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Prvně nastavte svou e-mailovou adresu..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Nastavení e-mailového serveru aktualizováno"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Heslo pro uživatele %(user)s resetováno"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Prohlížeč log souborů"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Požadování balíčku aktualizace"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Stahování balíčku aktualizace"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Rozbalování balíčku aktualizace"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Nahrazování souborů"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Databázová připojení jsou uzavřena"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Zastavuji server"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizace dokončena, klepněte na tlačítko OK a znovu načtěte stránku"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Aktualizace selhala:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP chyba"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Chyba připojení"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Vypršel časový limit při navazování spojení"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Všeobecná chyba"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Aktualizační soubor nemohl být uložen do Temp Dir"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Chyba: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Chyba: Žádná reakce od uživatele LDAP serveru"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -468,7 +468,7 @@ msgstr "není nakonfigurováno"
msgid "Execution permissions missing"
msgstr "Chybí povolení k exekuci"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Vlastní sloupec %(column)d neexistuje v databázi"
@@ -481,8 +481,8 @@ msgstr "Formát knihy úspěšně smazán"
msgid "Book Successfully Deleted"
msgstr "Kniha úspěšně smazána"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Jejda! Vybraná kniha není k dispozici. Soubor neexistuje nebo není přístupný"
@@ -519,7 +519,7 @@ msgstr "Nepodařilo se vytvořit cestu %(path)s (oprávnění odepřeno)."
msgid "Failed to store file %(file)s."
msgstr "Uložení souboru %(file)s se nezdařilo."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Chyba databáze: %(error)s."
@@ -652,69 +652,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Mazání knihy selhalo %(id)s failed: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Mazání knihy %(id)s, cesta ke knize není platná %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Přejmenování souboru v cestě '%(src)s' na '%(dest)s' selhalo chybou: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Soubor %(file)s nenalezen na Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Zadané uživatelské jméno je již použito"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Chyba stahování obalu"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Chyba formátu obalu"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Vytvoření cesty obalu selhalo"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Soubor obalu není platný, nebo nelze uložit"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Unrar binární soubor nenalezen"
@@ -755,7 +755,7 @@ msgstr "Kobo nastavení"
msgid "Register with %(provider)s"
msgstr "Registrovat s %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "nyní jste přihlášen jako: '%(nickname)s'"
@@ -821,7 +821,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Přihlásit"
@@ -837,7 +837,7 @@ msgstr "Token vypršel"
msgid "Success! Please return to your device"
msgstr "Úspěch! Vraťte se prosím do zařízení"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Knihy"
@@ -862,7 +862,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Nejlépe hodnocené knihy"
@@ -871,7 +871,7 @@ msgid "Show Top Rated Books"
msgstr "Zobrazit nejlépe hodnocené knihy"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Přečtené knihy"
@@ -880,7 +880,7 @@ msgid "Show read and unread"
msgstr "Zobrazit prečtené a nepřečtené"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Nepřečtené knihy"
@@ -898,7 +898,7 @@ msgid "Show Random Books"
msgstr "Zobrazit náhodné knihy"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategorie"
@@ -908,7 +908,7 @@ msgstr "Zobrazit výběr kategorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Série"
@@ -926,7 +926,7 @@ msgid "Show author selection"
msgstr "Zobrazit výběr autora"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Vydavatelé"
@@ -936,7 +936,7 @@ msgstr "Zobrazit výběr vydavatele"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Jazyky"
@@ -960,7 +960,7 @@ msgstr "Formáty souborů"
msgid "Show file formats selection"
msgstr "Zobrazit výběr formátů"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Archivované knihy"
@@ -968,7 +968,7 @@ msgstr "Archivované knihy"
msgid "Show archived books"
msgstr "Zobrazit archivované knihy"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -976,98 +976,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Zadána neplatná police"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Lituji, nejste oprávněni přidat knihu do police: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Kniha je již součástí police: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Kniha byla přidána do police: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Nejste oprávněni přidat knihu do police: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Knihy jsou již součástí police: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Knihy byly přidány do police: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Nelze přidat knihy do police: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Kniha byla odebrána z police: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Lituji, nejste oprávněni odebrat knihu z této police: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Vytvořit polici"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Lituji, nejste oprávněni odebrat knihu z této police: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Upravit polici"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Police %(title)s vytvořena"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Police %(title)s změněna"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Došlo k chybě"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Veřejná police s názvem '%(title)s' již existuje."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Osobní police s názvem ‘%(title)s’ již existuje."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Změnit pořadí Police: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Police: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná"
@@ -1100,185 +1105,180 @@ msgstr "Nová aktualizace k dispozici. Klepnutím na tlačítko níže aktualizu
msgid "No release information available"
msgstr "Nejsou k dispozici žádné informace o verzi"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Objevte (Náhodné knihy)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Žhavé knihy (Nejstahovanější)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Autoři: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Vydavatel: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Hodnocení: %(rating)s stars"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Soubor formátů: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Jazyky: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Rozšířené hledání"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Hledat"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Stáhnutí"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Seznam hodnocení"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Seznam formátů"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Úlohy"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Vydáno po "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Vydáno před "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Hodnocení <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Hodnocení >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Při odesílání této knihy došlo k chybě: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Nejprve nakonfigurujte vaši kindle e-mailovou adresu.."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-mailový server není nakonfigurován, kontaktujte svého správce!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registrovat"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Váš e-mail nemá povolení k registraci"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Potvrzovací e-mail byl odeslán na váš účet."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Nelze aktivovat ověření LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Záložní přihlášení jako: ‘%(nickname)s’, server LDAP není dosažitelný nebo neznámý uživatel"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nelze se přihlásit: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Špatné uživatelské jméno nebo heslo"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Nové heslo bylo zasláno na vaši emailovou adresu"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Nyní jste přihlášeni jako: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profil"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profil aktualizován"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Číst knihu"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1543,7 +1543,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Zrušit"
@@ -1692,12 +1692,12 @@ msgid "Published Date"
msgstr "Datum vydání"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Vydavatel"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Jazyk"
@@ -1727,7 +1727,7 @@ msgstr "Získat metadata"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Uložit"
@@ -2193,35 +2193,35 @@ msgstr "Regulární výraz pro řazení názvů"
msgid "Default Settings for New Users"
msgstr "Výchozí nastavení pro nového uživatele"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Uživatel admin"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Povolit stahování"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Povolit prohlížeč knih"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Povolit nahrávání"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Povolit úpravy"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Povolit mazání knih"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Povolit změnu hesla"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Povolit úpravy veřejných polic"
@@ -2229,12 +2229,12 @@ msgstr "Povolit úpravy veřejných polic"
msgid "Default Visibilities for New Users"
msgstr "Výchozí zobrazení pro nové uživatele"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Zobrazit náhodné knihy v podrobném zobrazení"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Přidat povolené/zakázané štítky"
@@ -2251,56 +2251,53 @@ msgid "Listen in Browser"
msgstr "Poslechnout v prohlížeči"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Kniha"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "z"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Publikováno"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Označit jako nepřečtené"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Označit jako přečtené"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Přečteno"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Obnovit z archivu"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Archívovat"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Archivováno"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Popis:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Přidat do police"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Veřejné)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Upravit metadata"
@@ -2652,10 +2649,20 @@ msgstr "Kniha"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web katalog eknih"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "Čtečka PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Po otevření postranních panelů přeformátujte text."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Čtečka PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Klávesové zkratky"
@@ -2772,13 +2779,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "Čtečka PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "Čtečka PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Základní txt čtečka"
+#, fuzzy
+msgid "txt Reader"
+msgstr "Čtečka PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3005,15 +3019,15 @@ msgstr "Kobo Sync token"
msgid "Create/View"
msgstr "Vytvořit/Prohlížet"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Odstranit tohoto uživatele"
@@ -3112,7 +3126,7 @@ msgid "Edit Public Shelves"
msgstr "Veřejná police"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo
index 9e9a70b1..b40fae3b 100644
Binary files a/cps/translations/de/LC_MESSAGES/messages.mo and b/cps/translations/de/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po
index c26c4f36..71070cf2 100644
--- a/cps/translations/de/LC_MESSAGES/messages.po
+++ b/cps/translations/de/LC_MESSAGES/messages.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
-"PO-Revision-Date: 2021-05-16 09:36+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
+"PO-Revision-Date: 2021-08-01 17:24+0200\n"
"Last-Translator: Ozzie Isaacs\n"
"Language: de\n"
"Language-Team: \n"
@@ -30,430 +30,426 @@ msgstr "Nicht installiert"
msgid "Statistics"
msgstr "Statistiken"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Server neu gestartet, Seite bitte neu laden"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Server wird heruntergefahren, Fenster bitte schließen"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Erfolgreich neu verbunden"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Unbekannter Befehl"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Unbekannt"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Admin Seite"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Basiskonfiguration"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Benutzeroberflächenkonfiguration"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr "Benutzer bearbeiten"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Alle"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Benutzer nicht gefunden"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} Benutzer erfolgreich gelöscht"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Zeige alle"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Ungültige Anfrage"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Guest Name kann nicht geändert werden"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "Guest Benutzer kann diese Rolle nicht haben"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Wert muss true oder false sein"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Ungültige Rolle"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "Guest Benutzer kann diese Sichtbarkeit nicht haben"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Ungültige Sichtbarkeit"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Guest Sprache wird automatisch bestimmt und kann nicht eingestellt werden"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Keine gültige Sprache gewählt"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Keine gültige Buchsprache gewählt"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Parameter wurde nicht gefunden"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr "Ungültige Lese Spalte"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr "Ungültiger Spaltenname für Einschränkung"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Konfiguration von Calibre-Web wurde aktualisiert"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Möchten Sie wirklich den Kobo Token löschen?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Möchten Sie wirklich diese Domain löschen?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Möchten Sie wirklich diesen Benutzer löschen?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Möchten Sie wirklich dieses Bücherregal löschen?"
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Möchten Sie wirklich die Anzeigesprache der ausgewählten Benutzer ändern?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Möchten Sie wirklich die Büchersprachen für die ausgewählten Benutzer ändern?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Möchten Sie wirklich die ausgewählte Rolle für die ausgewählten Benutzer verändern?"
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Möchten Sie wirklich die ausgewählten Sichtbarkeitsbeschränkungen der ausgewählten Benutzer ändern?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Möchten Sie wirklich die Sichtbarkeiten für die ausgewählten Benutzer verändern?"
-#: cps/admin.py:586
-#, fuzzy
+#: cps/admin.py:589
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
-msgstr "Möchten Sie wirklich die ausgewählte Rolle für die ausgewählten Benutzer verändern?"
+msgstr "Möchten Sie wirklich die Synchronisation von Bücherregalen für die ausgewählten Benutzer verändern?"
-#: cps/admin.py:588
-#, fuzzy
+#: cps/admin.py:591
msgid "Are you sure you want to change Calibre library location?"
-msgstr "Calibre-Web wirklich anhalten?"
+msgstr "Ort der Calibre Datenbank editieren?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Tag nicht gefunden"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Ungültige Aktion"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Verbieten"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Erlauben"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json ist nicht für Web Anwendungen konfiguriert"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Zugriffs Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Bitte einen LDAP Server, Port, DN und Benutzer Objekt angeben"
-#: cps/admin.py:1098
-#, fuzzy
-msgid "Please Enter a LDAP Service Account and Password"
-msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben"
-
#: cps/admin.py:1101
-msgid "Please Enter a LDAP Service Account"
-msgstr ""
+msgid "Please Enter a LDAP Service Account and Password"
+msgstr "Bitte einen LDAP Service Account und Password eingeben"
-#: cps/admin.py:1106
+#: cps/admin.py:1104
+msgid "Please Enter a LDAP Service Account"
+msgstr "Bitte einen LDAP Service Account eingeben"
+
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Gruppen Objekt Filter benötigt genau eine \"%s\" Format Kennung"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Gruppen Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Benutzer Objekt Filter benötigt genau eine \"%s\" Format Kennung"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Benutzer Objekt Filter hat ungleiche Anzahl von Klammern"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "Der LDAP Member User Filter benötigt genau eine \"%s\" Formatierungsmarkierung"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Member User Filter hat eine ungleiche Anzahl von geöffneten und geschlossenen Klammern"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CA-Zertifikat, Zertifikat oder Key Datei ist kein gültiger Pfad"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Einstellungsdatenbank ist nicht schreibbar"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Datenbank ist nicht schreibbar"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Schlüsseldatei ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben"
-#: cps/admin.py:1317
-#, fuzzy
+#: cps/admin.py:1320
msgid "Database Configuration"
-msgstr "Feature-Konfiguration"
+msgstr "Datenbank-Konfiguration"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Bitte alle Felder ausfüllen!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-Mail bezieht sich nicht auf eine gültige Domain"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Neuen Benutzer hinzufügen"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Benutzer '%(user)s' angelegt"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr "Es existiert bereits ein Account für diese E-Mailadresse oder diesen Benutzernamen."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Benutzer '%(nick)s' gelöscht"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "Guest Benutzer kann nicht gelöscht werden"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Benutzer kann nicht gelöscht werden, es wäre kein Admin Benutzer übrig"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Benutzer %(nick)s bearbeiten"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Benutzer '%(nick)s' aktualisiert"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP-Einstellungen ändern"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account Verifikation erfolgreich"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Test E-Mail an %(email)s wurde zum Senden in die Warteschlange eingereiht, für das Ergebnis bitte Aufgaben überprüfen"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Es trat ein Fehler beim Versenden der Test-E-Mail auf: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Bitte zuerst E-Mail Adresse konfigurieren..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Einstellungen des E-Mail-Servers aktualisiert"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Logdatei Anzeige"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Frage Update an"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Lade Update herunter"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Entpacke Update"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Ersetze Dateien"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Schließe Datenbankverbindungen"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Stoppe Server"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Update fehlgeschlagen:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP Fehler"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Timeout beim Verbindungsaufbau"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Allgemeiner Fehler"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Updatedatei konnte nicht in Temporärem Ordner gespeichert werden"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fehler: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} Benutzer erfolgreich importiert"
@@ -465,7 +461,7 @@ msgstr "Nicht konfiguriert"
msgid "Execution permissions missing"
msgstr "Ausführeberechtigung fehlt"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Benutzerdefinierte Spalte Nr. %(column)d ist nicht in Calibre Datenbank vorhanden"
@@ -478,8 +474,8 @@ msgstr "Buch Format erfolgreich gelöscht"
msgid "Book Successfully Deleted"
msgstr "Buch erfolgreich gelöscht"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Öffnen des Buchs fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich"
@@ -490,7 +486,7 @@ msgstr "Metadaten editieren"
#: cps/editbooks.py:452
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
-msgstr ""
+msgstr "%(seriesindex)s ist keine gültige Zahl, Eintrag wird ignoriert"
#: cps/editbooks.py:485
#, python-format
@@ -516,7 +512,7 @@ msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)"
msgid "Failed to store file %(file)s."
msgstr "Fehler beim Speichern der Datei %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Datenbankfehler: %(error)s."
@@ -649,68 +645,68 @@ msgstr "Löschen des Ordners für Buch %(id)s ist fehlgeschlagen, der Pfad hat U
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Löschen von Buch %(id)s fehlgeschlagen: %(message)s"
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
-msgstr "Lösche Buch %(id)s, Pfad zum Buch nicht gültig: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
+msgstr "Lösche Buch %(id)s nur aus Datenbank, Pfad zum Buch in Datenbank ist nicht gültig: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Umbenennen des Titels '%(src)s' zu '%(dest)s' schlug fehl: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Umbenennen der Datei im Pfad '%(src)s' nach '%(dest)s' ist fehlgeschlagen: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Benutzername ist schon vorhanden"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Ungültiges E-Mail Adressformat"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Fehler beim Herunterladen des Covers"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Coverdatei fehlerhaft"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Fehler beim Erzeugen des Ordners für die Coverdatei"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Cover Datei ist keine gültige Bilddatei, kann nicht gespeichert werden"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Nur jpg/jpeg/png/webp/bmp Dateien werden als Coverdatei unterstützt"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Es werden nur jpg/jpeg Dateien als Cover untertützt"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "UnRar Programm nicht gefunden"
@@ -751,7 +747,7 @@ msgstr "Kobo Setup"
msgid "Register with %(provider)s"
msgstr "Anmelden mit %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
@@ -817,7 +813,7 @@ msgid "{} Stars"
msgstr "{} Sterne"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Login"
@@ -833,7 +829,7 @@ msgstr "Token ist abgelaufen"
msgid "Success! Please return to your device"
msgstr "Erfolg! Bitte zum Gerät zurückkehren"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Bücher"
@@ -858,7 +854,7 @@ msgstr "Heruntergeladene Bücher"
msgid "Show Downloaded Books"
msgstr "Zeige heruntergeladene Bücher"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Best bewertete Bücher"
@@ -867,7 +863,7 @@ msgid "Show Top Rated Books"
msgstr "Bestbewertete Bücher anzeigen"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Gelesene Bücher"
@@ -876,7 +872,7 @@ msgid "Show read and unread"
msgstr "Zeige gelesene/ungelesene Bücher"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Ungelesene Bücher"
@@ -894,7 +890,7 @@ msgid "Show Random Books"
msgstr "Zeige zufällige Bücher"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategorien"
@@ -904,7 +900,7 @@ msgstr "Zeige Kategorienauswahl"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Serien"
@@ -922,7 +918,7 @@ msgid "Show author selection"
msgstr "Zeige Autorenauswahl"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Verleger"
@@ -932,7 +928,7 @@ msgstr "Zeige Verlegerauswahl"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Sprachen"
@@ -956,7 +952,7 @@ msgstr "Dateiformate"
msgid "Show file formats selection"
msgstr "Zeige Dateiformatauswahl"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Archivierte Bücher"
@@ -964,7 +960,7 @@ msgstr "Archivierte Bücher"
msgid "Show archived books"
msgstr "Zeige archivierte Bücher"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Bücherliste"
@@ -972,98 +968,101 @@ msgstr "Bücherliste"
msgid "Show Books List"
msgstr "Zeige Bücherliste"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Ungültiges Bücherregal angegeben"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
-msgstr "Du hast keine Berechtigung, ein Buch zu diesem Bücherregal hinzuzufügen: %(shelfname)s"
+msgid "Sorry you are not allowed to add a book to that shelf"
+msgstr "Du hast keine Berechtigung, ein Buch zu diesem Bücherregal hinzuzufügen"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Buch ist bereits Teil des Bücherregals %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Das Buch wurde dem Bücherregal %(sname)s hinzugefügt"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Dir ist es nicht erlaubt, ein Buch zum Bücherregal %(name)s hinzuzufügen"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Bücher sind bereits Teil des Bücherregals %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Bücher wurden zum Bücherregal %(sname)s hinzugefügt"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Bücher konnten nicht zum Bücherregal %(sname)s hinzugefügt werden"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Dir ist es nicht erlaubt, Bücher aus dem Bücherregal %(sname)s zu entfernen"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Bücherregal erzeugen"
#: cps/shelf.py:238
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Dir ist es nicht erlaubt, dieses Bücherregal zu editieren"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Bücherregal editieren"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Bücherregal %(title)s erzeugt"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Bücherregal %(title)s verändert"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Es trat ein Fehler auf"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Es existiert bereit ein öffentliches Bücherregal mit dem Name '%(title)s'."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Es existiert bereit ein privates Bücherregal mit dem Name '%(title)s'."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Reihenfolge in Bücherregal '%(name)s' verändern"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Bücherregal: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Fehler beim Öffnen des Bücherregals. Bücherregal exisitert nicht oder ist nicht zugänglich"
@@ -1096,185 +1095,180 @@ msgstr "Ein neues Update ist verfügbar. Klicke auf den Button unten, um auf Ver
msgid "No release information available"
msgstr "Keine Releaseinformationen verfügbar"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Entdecke (Zufällige Bücher)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Beliebte Bücher (am meisten Downloads)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Von %(user)s heruntergeladene Bücher"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Author: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Verleger: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Bewertung: %(rating)s Sterne"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Dateiformat: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Sprache: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Erweiterte Suche"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Suche"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Bewertungsliste"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Liste der Dateiformate"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Aufgaben"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Herausgegeben nach dem "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Herausgegeben vor dem "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Bewertung <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Bewertung >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lesestatus = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
-msgstr ""
+msgstr "Fehler bei der Suche nach eigenen Spalten, bitte Calibre-Web neustarten"
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Bitte zuerst die Kindle E-Mailadresse konfigurieren..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registrieren"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Eine Bestätigungs-E-Mail wurde an deinen E-Mail Account versendet."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "LDAP-Authentifizierung kann nicht aktiviert werden"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Rückfall Login als: '%(nickname)s', LDAP Server ist nicht erreichbar, oder der Nutzer ist unbekannt"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Login nicht erfolgreich: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Falscher Benutzername oder Passwort"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Eingeloggt als: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's Profil"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profil aktualisiert"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Lese ein Buch"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Keine gültige gmail.json Datei mit Oauth informationen gefunden"
@@ -1463,9 +1457,8 @@ msgid "Reverse Proxy Header Name"
msgstr "Reverse Proxy Header Name"
#: cps/templates/admin.html:153
-#, fuzzy
msgid "Edit Calibre Database Configuration"
-msgstr "Basiskonfiguration"
+msgstr "Calibre Datenbank Konfiguration editieren"
#: cps/templates/admin.html:154
msgid "Edit Basic Configuration"
@@ -1539,7 +1532,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Abbruch"
@@ -1688,12 +1681,12 @@ msgid "Published Date"
msgstr "Herausgabedatum"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Herausgeber"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Sprache"
@@ -1723,7 +1716,7 @@ msgstr "Metadaten laden"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Speichern"
@@ -1777,7 +1770,7 @@ msgstr "Auswahl aufheben"
#: cps/templates/book_table.html:28
msgid "Exchange author and title"
-msgstr ""
+msgstr "Autor und Titel tauschen"
#: cps/templates/book_table.html:34
msgid "Update Title Sort automatically"
@@ -1881,9 +1874,8 @@ msgid "Revoke"
msgstr "Widerrufen"
#: cps/templates/config_db.html:67
-#, fuzzy
msgid "New db location is invalid, please enter valid path"
-msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben"
+msgstr "Neuer Datenbank Pfad ist nicht gültig, bitte einen gültigen Pfad angeben"
#: cps/templates/config_edit.html:17
msgid "Server Configuration"
@@ -2189,35 +2181,35 @@ msgstr "Regulärer Ausdruck für Titelsortierung"
msgid "Default Settings for New Users"
msgstr "Standard-Einstellungen für neue Benutzer"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Administrator"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Downloads erlauben"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Anzeige von Büchern erlauben"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Hochladen erlauben"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Bearbeiten erlauben"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Löschen von Büchern erlauben"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Ändern des Passworts erlauben"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Editieren öffentlicher Bücherregale erlauben"
@@ -2225,12 +2217,12 @@ msgstr "Editieren öffentlicher Bücherregale erlauben"
msgid "Default Visibilities for New Users"
msgstr "Standard-Sichtbarkeiten für neue Benutzer"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Zeige zufällige Bücher in der Detailansicht"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Erlaubte/Verbotene Tags hinzufügen"
@@ -2247,56 +2239,53 @@ msgid "Listen in Browser"
msgstr "Im Browser anhören"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Buch"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr "Buch %(index)s von %(range)s"
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "von"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Herausgabedatum"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Als ungelesen markieren"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Als gelesen markieren"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Gelesen"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Vom Archiv wiederherstellen"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Zum Archiv hinzufügen"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Archiviert"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Beschreibung:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Zu Bücherregal hinzufügen"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Öffentlich)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Metadaten bearbeiten"
@@ -2375,9 +2364,8 @@ msgid "Open the .kobo/Kobo eReader.conf file in a text editor and add (or edit):
msgstr "Öffne ddie .kobo/Kobo eReader.conf Datei in einem Texteditor und füge hinzu (oder ersetze):"
#: cps/templates/http_error.html:31
-#, fuzzy
msgid "Calibre-Web Instance is unconfigured, please contact your administrator"
-msgstr "Der E-Mail Server ist nicht konfigurierte, bitte den Administrator kontaktieren!"
+msgstr "Calibre-Web Instanz ist nicht konfiguriert, bitte den Administrator kontaktieren"
#: cps/templates/http_error.html:41
msgid "Create Issue"
@@ -2389,7 +2377,7 @@ msgstr "Zurück zur Hauptseite"
#: cps/templates/http_error.html:50
msgid "Logout User"
-msgstr ""
+msgstr "Benutzer ausloggem"
#: cps/templates/index.html:72 cps/templates/search.html:33
#: cps/templates/shelf.html:20
@@ -2647,10 +2635,18 @@ msgstr "Ok"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web E-Book-Katalog"
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr "epub-Leser"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Text umbrechen, wenn Seitenleiste geöffnet ist."
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr "Comic-Leser"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Tastaturkürzel"
@@ -2749,31 +2745,35 @@ msgstr "Rechts nach links"
#: cps/templates/readcbr.html:165
msgid "Reset to Top"
-msgstr ""
+msgstr "Zurück nach oben"
#: cps/templates/readcbr.html:166
msgid "Remember Position"
-msgstr ""
+msgstr "Position merken"
#: cps/templates/readcbr.html:171
msgid "Scrollbar"
-msgstr ""
+msgstr "Scrollleiste"
#: cps/templates/readcbr.html:174
msgid "Show"
-msgstr ""
+msgstr "Zeige"
#: cps/templates/readcbr.html:175
msgid "Hide"
-msgstr ""
+msgstr "Verstecke"
+
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr "DJVU-Leser"
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr "PDF-Reader"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Einfacher TXT-Reader"
+msgid "txt Reader"
+msgstr "txt-Leser"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -2897,7 +2897,7 @@ msgstr "Bücherregal mit anderen Benutzern teilen"
#: cps/templates/shelf_edit.html:20
msgid "Sync this shelf with Kobo device"
-msgstr ""
+msgstr "Dieses Bücherregal mit Kobo synchronisieren"
#: cps/templates/shelf_order.html:5
msgid "Drag to Rearrange Order"
@@ -2999,15 +2999,15 @@ msgstr "Kobo Sync Token"
msgid "Create/View"
msgstr "Erzeugen/Ansehen"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
-msgstr ""
+msgstr "Nur Bücher aus ausgewählten Bücherregalen mit Kobo synchronisieren"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Benutzer löschen"
@@ -3088,13 +3088,13 @@ msgid "View"
msgstr "Ansicht"
#: cps/templates/user_table.html:148
-#, fuzzy
msgid "Edit Public Shelves"
-msgstr "Öffentliches Bücherregal bearbeiten"
+msgstr "Öffentliche Bücherregale bearbeiten"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
-msgstr ""
+#, fuzzy
+msgid "Sync selected Shelves with Kobo"
+msgstr "Ausgesuchte Bücherregale mit Kobo synchronisieren"
#: cps/templates/user_table.html:154
msgid "Show read/unread selection"
diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo
index 21c3b502..16e9b6cb 100644
Binary files a/cps/translations/el/LC_MESSAGES/messages.mo and b/cps/translations/el/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/el/LC_MESSAGES/messages.po b/cps/translations/el/LC_MESSAGES/messages.po
index 93779e56..43abf79a 100644
--- a/cps/translations/el/LC_MESSAGES/messages.po
+++ b/cps/translations/el/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Depountis Georgios\n"
"Language: el\n"
@@ -29,434 +29,434 @@ msgstr "δεν εγκαταστάθηκε"
msgid "Statistics"
msgstr "Στατιστικά"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Ο διακομιστής επανεκκίνησε, παρακαλούμε φόρτωσε ξανά τη σελίδα"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Πραγματοποιείται κλείσιμο του διακομιστή, παρακαλούμε κλείσε το παράθυρο"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Επιτυχής επανασύνδεση"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Άγνωστη εντολή"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "ʼΑγνωστο"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Σελίδα διαχειριστή"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Βασική Διαμόρφωση"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "UI Διαμόρφωση"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Χρήστης Διαχειριστής"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Όλα"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Δεν βρέθηκε χρήστης"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Προβολή Όλων"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Απόρριψη"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Επιτρέπεται"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json Δεν Έχει Διαμορφωθεί Για Διαδικτυακή Εφαρμογή"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Φύλλο Καταγραφής Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Πρόσβαση Φύλλου Καταγραφης Τοποθεσίας δεν είναι έγκυρη, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Παρακαλούμε Συμπλήρωσε ένα Πάροχο LDAP, Θύρα, DN και Αντικείμενο Αναγνώρισης Χρήστη"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Οι ρυθμίσεις DB δεν μπορούν να Γραφτούν"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Η DB δεν μπορεί να Γραφτεί"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Διαμόρφωση Λειτουργίας"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "Το E-mail δεν είναι από έγκυρο domain"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Προσθήκη νέου χρήστη"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Επεξεργασία χρήστη %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Προβολέας αρχείου φύλλου καταγραφής"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Αίτημα πακέτου ενημέρωσης"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Κατεβάζει πακέτο ενημέρωσης"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Ανοίγει πακέτο ενημέρωσης"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Αντικατάσταση αρχείων"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Σταματάει το διακομιστή"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Η ενημέρωση απέτυχε:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP Σφάλμα"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Γενικό σφάλμα"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Σφάλμα: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -468,7 +468,7 @@ msgstr "δεν διαμορφώθηκε"
msgid "Execution permissions missing"
msgstr "Λείπουν άδειες εκτέλεσης"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων"
@@ -481,8 +481,8 @@ msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς"
msgid "Book Successfully Deleted"
msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο"
@@ -519,7 +519,7 @@ msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η ά
msgid "Failed to store file %(file)s."
msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Σφάλμα βάσης δεδομένων: %(error)s."
@@ -652,69 +652,69 @@ msgstr "Η διαγραφή φακέλου βιβλίου για το βιβλί
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Η διαγραφή βιβλίου %(id)s απέτυχε: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Διαγραφή βιβλίου %(id)s, η πορεία βιβλίου δεν είναι έγκυρη: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Η μετονομασία αρχείου σε πορεία '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Αυτό το όνομα χρήστη έχει ήδη παρθεί"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Σφάλμα Κατεβάσματος Φόντου"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Σφάλμα Μορφής Φόντου"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Αποτυχία δημιουργίας πορείας για φόντο"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Το αρχείο φόντου δεν είναι ένα έγκυρο αρχείο εικόνας, ή δεν μπόρεσε να αποθηκευτεί"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar"
@@ -755,7 +755,7 @@ msgstr "Καθορισμός Kobo"
msgid "Register with %(provider)s"
msgstr "Εγγραφή με %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'"
@@ -821,7 +821,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Σύνδεση"
@@ -837,7 +837,7 @@ msgstr "Η μάρκα έχει λήξει"
msgid "Success! Please return to your device"
msgstr "Επιτυχία! Παρακαλούμε επέστρεψε στη συσκευή σου"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Βιβλία"
@@ -862,7 +862,7 @@ msgstr "Κατεβασμένα Βιβλία"
msgid "Show Downloaded Books"
msgstr "Προβολή Κατεβασμένων Βιβλίων"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Βιβλία με Κορυφαία Αξιολόγηση"
@@ -871,7 +871,7 @@ msgid "Show Top Rated Books"
msgstr "Προβολή Βιβλίων με Κορυφαία Αξιολόγηση"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Βιβλία που Διαβάστηκαν"
@@ -880,7 +880,7 @@ msgid "Show read and unread"
msgstr "Προβολή διαβασμένων και αδιάβαστων"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Βιβλία που δεν Διαβάστηκαν"
@@ -898,7 +898,7 @@ msgid "Show Random Books"
msgstr "Προβολή Τυχαίων Βιβλίων"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Κατηγορίες"
@@ -908,7 +908,7 @@ msgstr "Προβολή επιλογών κατηγορίας"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Σειρές"
@@ -926,7 +926,7 @@ msgid "Show author selection"
msgstr "Προβολή επιλογών συγγραφέα"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Εκδότες"
@@ -936,7 +936,7 @@ msgstr "Προβολή επιλογών εκδότη"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Γλώσσες"
@@ -960,7 +960,7 @@ msgstr "Μορφές αρχείου"
msgid "Show file formats selection"
msgstr "Προβολή επιλογών μορφής αρχείου"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Αρχειοθετημένα Βιβλία"
@@ -968,7 +968,7 @@ msgstr "Αρχειοθετημένα Βιβλία"
msgid "Show archived books"
msgstr "Προβολή αρχειοθετημένων βιβλίων"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Λίστα Βιβλίων"
@@ -976,98 +976,103 @@ msgstr "Λίστα Βιβλίων"
msgid "Show Books List"
msgstr "Προβολή Λίστας Βιβλίων"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Διευκρινίστηκε μη έγκυρο ράφι"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Συγγνώμη δεν σου επιτρέπεται να προσθέσεις ένα βιβλίο στο ράφι: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Το βιβλίο είναι ήδη μέρος αυτού του ραφιού: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Το βιβλίο έχει προστεθεί στο ράφι: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Δεν σου επιτρέπεται να προσθέσεις ένα βιβλίο στο ράφι: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Τα βιβλία είναι ήδη μέρος του ραφιού: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Βιβλία είχαν προστεθεί στο ραφι: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Δεν μπόρεσε να γίνει η προσθήκη βιβλίων στο ράφι: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Το βιβλίο έχει αφαιρεθεί από το ράφι: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Συγγνώμη αλλά δεν σου επιτρέπεται η αφαίρεση ενός βιβλίου από αυτό το ράφι: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Δημιούργησε ένα Ράφι"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Συγγνώμη αλλά δεν σου επιτρέπεται η αφαίρεση ενός βιβλίου από αυτό το ράφι: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Επεξεργασία ενός ραφιού"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Το ράφι %(title)s δημιουργήθηκε"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Το ράφι %(title)s άλλαξε"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Υπήρξε ένα σφάλμα"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Ένα δημόσιο ράφι με το όνομα '%(title)s' υπάρχει ήδη."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Ένα ιδιωτικό ράφι με το όνομα '%(title)s' υπάρχει ήδη."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Αλλαγή σειράς του Ραφιού: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Ράφι: '%(name)s"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Σφάλμα κατά το άνοιγμα του ραφιού. Το ράφι δεν υπάρχει ή δεν είναι προσβάσιμο"
@@ -1100,185 +1105,180 @@ msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε
msgid "No release information available"
msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποδέσμευσης"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Ανακάλυψε (Τυχαία Βιβλία)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Βιβλία στη Μόδα (Με τα περισσότερα κατεβάσματα)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Κατεβασμένα βιβλία από %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Συγγραφέας: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Εκδότης: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Σειρές: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Αξιολόγηση: %(rating)s stars"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Μορφή αρχείου: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Κατηγορία: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Γλώσσα: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Προχωρημένη Αναζήτηση"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Αναζήτηση"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Κατεβασμένα"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Λίστα αξιολογήσεων"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Λίστα μορφών αρχείου"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Εργασίες"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Εκδόθηκε μετά"
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Εκδόθηκε πριν"
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Αξιολόγηση <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Αξιολόγηση >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Oυπς! Υπήρξε ένα σφάλμα κατά την αποστολή αυτού του βιβλίου: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Παρακαλούμε ενημέρωσε το προφίλ σου με μια έγκυρη Διεύθυνση E-mail Αποστολής στο Kindle."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Εγγραφή"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να εγγραφεί"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Εναλλακτική Σύνδεση ως: '%(nickname)s', Ο Διακομιστής LDAP δεν είναι προσβάσιμος, ή ο χρήστης δεν είναι γνωστός"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Δεν μπόρεσε να συνδεθεί: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Έχεις συνδεθεί ως: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's προφίλ"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Το προφίλ ενημερώθηκε"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Διάβασε ένα Βιβλίο"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1543,7 +1543,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Ακύρωση"
@@ -1692,12 +1692,12 @@ msgid "Published Date"
msgstr "Ημερομηνία Έκδοσης"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Εκδότης"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Γλώσσα"
@@ -1727,7 +1727,7 @@ msgstr "Συγκέντρωση Μεταδεδομένων"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Αποθήκευση"
@@ -2193,35 +2193,35 @@ msgstr "Συνήθης Έκφραση για Ταξινόμηση Τίτλου"
msgid "Default Settings for New Users"
msgstr "Προκαθορισμένες Ρυθμίσεις για Νέους Χρήστες"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Χρήστης Διαχειριστής"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Να Επιτρέπεται το Κατέβασμα"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Να Επιτρέπεται η Προβολή eBook Viewer"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Να Επιτρέπεται το Ανέβασμα"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Να Επιτρέπεται η Επεξεργασία"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Να Επιτρέπεται η Διαγραφή Βιβλίων"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Να Επιτρέπεται η Αλλαγή Κωδικού"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Να Επιτρέπεται η Επεξεργασία Δημόσιων Ραφιών"
@@ -2229,12 +2229,12 @@ msgstr "Να Επιτρέπεται η Επεξεργασία Δημόσιων
msgid "Default Visibilities for New Users"
msgstr "Προκαθορισμένες Ορατότηες για Νέους Χρήστες"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Προβολή Τυχαίων Βιβλίων σε Προβολή Λεπτομερειών"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Προσθήκη ετικετών Επιτρέπεται/Απορρίπτεται"
@@ -2251,56 +2251,53 @@ msgid "Listen in Browser"
msgstr "ʼΑκουσε στο Πρόγραμμα Περιήγησης"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Βιβλίο"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "από"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Εκδόθηκε"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Σήμανση ως Αδιάβαστο"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Σήμανση ως Διαβασμένο"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Διαβάστηκε"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Επαναφορά από το αρχείο"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Προσθήκη στο αρχείο"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Αρχειοθετήθηκε"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Περιγραφή"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Προσθήκη στο ράφι"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Δημόσιο)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Επεξεργασία Μεταδεδομένων"
@@ -2652,10 +2649,20 @@ msgstr "Βιβλίο"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web Κατάλογος eBook"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF πρόγραμμα ανάγνωσης"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Επανάληψη ροής κειμένου όταν οι μπάρες στο πλάι είναι ανοιχτές."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF πρόγραμμα ανάγνωσης"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Συντομεύσεις Πληκτρολογίου"
@@ -2772,13 +2779,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF πρόγραμμα ανάγνωσης"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF πρόγραμμα ανάγνωσης"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Βασικό Πρόγραμμα Ανάγνωσης txt"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF πρόγραμμα ανάγνωσης"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3005,15 +3019,15 @@ msgstr "Kobo Μονάδα Συγχρονισμού"
msgid "Create/View"
msgstr "Δημιουγία/Προβολή"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Προσθήκη Τιμών Ειδικά Προσαρμοσμένης Στήλης επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Διαγραφή Χρήστη"
@@ -3112,7 +3126,7 @@ msgid "Edit Public Shelves"
msgstr "Δημόσιο Ράφι"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo
index d1a4df0e..fc499017 100644
Binary files a/cps/translations/es/LC_MESSAGES/messages.mo and b/cps/translations/es/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po
index 484c624a..37543e38 100644
--- a/cps/translations/es/LC_MESSAGES/messages.po
+++ b/cps/translations/es/LC_MESSAGES/messages.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-05-25 17:22+0200\n"
"Last-Translator: minakmostoles \n"
"Language: es\n"
@@ -33,434 +33,434 @@ msgstr "no instalado"
msgid "Statistics"
msgstr "Estadísticas"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Servidor reiniciado. Por favor, recargue la página"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "El servidor se está apagando. Por favor, cierre la ventana"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Reconexión correcta"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Comando desconocido"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Desconocido"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Página de administración"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Configuración básica"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Configuración de la interfaz de usuario"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Editar usuarios"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Todo"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Usuario no encontrado"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} usuarios eliminados con éxito"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Mostrar todo"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Petición mal formulada"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "El nombre de invitado no se puede cambiar"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "El invitado no puede tener ese rol"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Valor tiene que ser verdadero o falso"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Rol inválido"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "El invitado no puede tener esta vista"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Vista no válida"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "El sitio del invitado se determina automáticamente y no puede ser cambiado"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "No hay un sitio válido"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "No se ha indicado un idioma válido para el libro"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Parámetro no encontrado"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr "Columna de lectura no válida"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr "Columna restringida no válida"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Configuración de Calibre-Web actualizada"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "¿Realmente quieres borrar el Token de Kobo?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "¿Realmente deseas borrar este dominio?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "¿Realmente quieres borrar este usuario?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "¿Realmente quieres eliminar este estante?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "¿Realmente quieres cambiar el idioma de los usuarios seleccionados?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "¿Realmente quieres cambiar los idiomas visibles del libro de los usuarios seleccionados?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "¿Realmente quieres cambiar el rol seleccionado de el usuario seleccionado?"
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "¿Realmente quieres cambiar las restricciones de los usuarios seleccionados?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "¿Realmente quieres cambiar las restricciones de visibilidad de los usuarios seleccionados?"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "¿Realmente quieres cambiar el comportamiento de sincronización de estante del usuario seleccionado?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "¿Realmente quieres cambiar la ubicación de la biblioteca Calibre?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Etiqueta no encontrada"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Acción no válida"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Denegar"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Permitir"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json no está configurado para la aplicación web"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Logfile no es válida. Por favor, Introduce la ruta correcta"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Access Logfile no es válida. Por favor, Introduce la ruta correcta"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Por favor, Introduce un proveedor LDAP, puerto, DN y el User Object Identifier"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Por favor, introduce una cuenta de servicio LDAP y su contraseña"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr "Por favor, introduce una cuenta de servicio LDAP"
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "El LDAP Group Object Filter tiene un paréntesis diferente"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "El filtro de usuarios LDAP necesita tener un identificador de formato \"%s\""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "El filtro de LDAP \"Member User\" tiene paréntesis no coincidentes"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "Ubicaciones del certificado de la CA del LDAP, del certificado o de la clave no válidos. Por favor introduce la ruta correcta"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "La base de datos de configuración no es modificable"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "La ruta de la base de datos no es válida. Por favor, Introduce la ruta correcta"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "La base de datos no es modificable"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta del Keyfile no es válida, por favor, Introduce la ruta correcta"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "La ruta de Certfile no es válida, por favor, Introduce la ruta correcta"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Configuración de la base de datos"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "¡Por favor, rellena todos los campos!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "El correo electrónico no tiene un dominio válido"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Añadir un nuevo usuario"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Encontrada una cuenta existente para este correo electrónico o nombre de usuario."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' eliminado"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "No puedes borrar al Usuario Invitado"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "No queda ningún usuario administrador, no se puede borrar al usuario"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuario %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Cambiar parámetros de correo"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "Verificación de cuenta de Gmail exitosa"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Puesto en cola un correo electrónico de prueba enviado a %(email)s, por favor, comprueba el resultado en Tareas"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Ocurrió un error enviando el correo electrónico de prueba: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure su correo electrónico primero..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Actualizados los ajustes del servidor de correo electrónico"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Contraseña para el usuario %(user)s reinicializada"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura primero los parámetros del servidor SMTP..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Visor del fichero de log"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Solicitando paquete de actualización"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Descargando paquete de actualización"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Descomprimiendo paquete de actualización"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Remplazando archivos"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Los conexiones con la base datos están cerradas"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Parando el servidor"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Actualización finalizada. Por favor, pulse OK y recargue la página"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Falló la actualización:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Error HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Error de conexión"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Tiempo agotado mientras se trataba de establecer la conexión"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Error general"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "La actualización del archivo no pudo guardarse en el directorio temporal (Temp Dir)"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Error: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Error: el servidor LDAP no ha devuelto ningún usuario"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Al menos, un usuario LDAP no se ha encontrado en la base de datos"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} Usuario importado con éxito"
@@ -472,7 +472,7 @@ msgstr "no configurado"
msgid "Execution permissions missing"
msgstr "Faltan permisos de ejecución"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Columna personalizada No.%(column)d no existe en la base de datos calibre"
@@ -485,8 +485,8 @@ msgstr "Formato de libro eliminado con éxito"
msgid "Book Successfully Deleted"
msgstr "Libro eliminado con éxito"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "oh, oh, el libro seleccionado no está disponible. El archivo no existe o no es accesible"
@@ -523,7 +523,7 @@ msgstr "Fallo al crear la ruta %(path)s (permiso denegado)"
msgid "Failed to store file %(file)s."
msgstr "Fallo al guardar el archivo %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Error en la base de datos: %(error)s."
@@ -656,69 +656,69 @@ msgstr "Fallo al intentar borrar la carpeta del libro %(id)s, la ruta tiene subc
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "El eliminado del libro %(id)s falló: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Borrando el libro %(id)s, la ruta del libro es no válida: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con el error: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Ha fallado el cambio de nombre del archivo '%(src)s' a '%(dest)s' con el error: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Fichero %(file)s no encontrado en Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "La ruta %(path)s del libro no fue encontrada en Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Este nombre de usuario ya está en uso"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Dirección de correo no válida"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Error al descargar la cubierta"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Error en el formato de la cubierta"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Error al crear una ruta para la cubierta"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "El archivo de cubierta no es una imágen válida"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Sólo se admiten como portada los archivos jpg/jpeg/png/webp/bmp"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Sólo se admiten como portada los archivos jpg/jpeg"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "No se encuentra el archivo binario UnRar"
@@ -759,7 +759,7 @@ msgstr "Configuración de Kobo"
msgid "Register with %(provider)s"
msgstr "Registrado con %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "has iniciado sesión como : '%(nickname)s'"
@@ -825,7 +825,7 @@ msgid "{} Stars"
msgstr "{} Estrellas"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Inicio de sesión"
@@ -841,7 +841,7 @@ msgstr "El token ha expirado"
msgid "Success! Please return to your device"
msgstr "¡Correcto! Por favor regrese a su dispositivo"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Libros"
@@ -866,7 +866,7 @@ msgstr "Libros Descargados"
msgid "Show Downloaded Books"
msgstr "Mostrar Libros Descargados"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Libros mejor valorados"
@@ -875,7 +875,7 @@ msgid "Show Top Rated Books"
msgstr "Mostrar libros mejor valorados"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Libros leídos"
@@ -884,7 +884,7 @@ msgid "Show read and unread"
msgstr "Mostrar leídos y no leídos"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Libros no leídos"
@@ -902,7 +902,7 @@ msgid "Show Random Books"
msgstr "Mostrar libros al azar"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Categorías"
@@ -912,7 +912,7 @@ msgstr "Mostrar selección de categorías"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Series"
@@ -930,7 +930,7 @@ msgid "Show author selection"
msgstr "Mostrar selección de autores"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Editores"
@@ -940,7 +940,7 @@ msgstr "Mostrar selección de editores"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Idiomas"
@@ -964,7 +964,7 @@ msgstr "Formatos de archivo"
msgid "Show file formats selection"
msgstr "Mostrar selección de formatos de archivo"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Libros archivados"
@@ -972,7 +972,7 @@ msgstr "Libros archivados"
msgid "Show archived books"
msgstr "Mostrar libros archivados"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Lista de Libros"
@@ -980,98 +980,103 @@ msgstr "Lista de Libros"
msgid "Show Books List"
msgstr "Mostrar Lista de Libros"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Estantería especificada no válida"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Lo sentimos, no tiene permisos para agregar un libro al estante: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "El libro ya forma parte del estante: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "El libro fue agregado a el estante: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "No tiene permiso para añadir un libro a el estante: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Los libros ya forman parte del estante: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Los libros han sido añadidos al estante: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "No se pudieron agregar libros al estante: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "El libro fue eliminado del estante: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Lo siento, no tiene permiso para eliminar un libro del estante: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Crear un estante"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Lo siento, no tiene permiso para eliminar un libro del estante: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Editar un estante"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estante %(title)s creado"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estante %(title)s cambiado"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Ha sucedido un error"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Ya existe un estante público con el nombre '%(title)s'."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Ya existe un estante privado con el nombre '%(title)s'."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Cambiar orden del estante: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estante: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Error al abrir un estante. El estante no existe o no es accesible"
@@ -1104,185 +1109,180 @@ msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo
msgid "No release information available"
msgstr "No hay información del lanzamiento disponible"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Descubrir (Libros al azar)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Libros populares (los más descargados)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Libros descargados por %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Autor/es: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor/es: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Series: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Calificación: %(rating)s estrellas"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del archivo: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Categoría : %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Búsqueda avanzada"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Buscar"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Descargas"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Lista de calificaciones"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Lista de formatos"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Tareas"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Publicado después de "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Calificación <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Calificación >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Estado de lectura = $(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Error en la búsqueda de columnas personalizadas, por favor reinicia Calibre-Web"
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Libro puesto en la cola de envío a %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Ha sucedido un error en el envío del libro: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Por favor actualiza tu perfil con la dirección de correo de su kindle..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "El servidor de correo no está configurado, por favor, ¡avisa a tu administrador!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registro"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Su correo electrónico no está permitido para registrarse"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "No se puede activar la autenticación LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Fallback login como: '%(nickname)s', no se puede acceder al servidor LDAP o usuario desconocido"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "No se pudo entrar: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Usuario o contraseña inválido"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Una nueva contraseña se ha enviado a su cuenta de correo electrónico"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Por favor, introduce un usuario válido para restablecer la contraseña"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ahora estás conectado como: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Perfil actualizado"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Leer un libro"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "No se ha encontrado ningún archivo gmail.json válido con información OAuth"
@@ -1547,7 +1547,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Cancelar"
@@ -1696,12 +1696,12 @@ msgid "Published Date"
msgstr "Fecha de publicación"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Editor"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Idioma"
@@ -1731,7 +1731,7 @@ msgstr "Obtener metadatos"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Guardar"
@@ -2197,35 +2197,35 @@ msgstr "Expresión regular para ordenar títulos"
msgid "Default Settings for New Users"
msgstr "Ajustes por defecto para nuevos usuarios"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Usuario administrador"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Permitir descargas"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Permitir visor de libros"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Permitir subidas de archivos"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Permitir editar"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Permitir borrar libros"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Permitir cambiar la contraseña"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Permitir editar estantes públicos"
@@ -2233,12 +2233,12 @@ msgstr "Permitir editar estantes públicos"
msgid "Default Visibilities for New Users"
msgstr "Visibilidad predeterminada para nuevos usuarios"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Mostrar libros aleatorios en la vista detallada"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Añadir etiquetas Permitidas/Denegados"
@@ -2255,56 +2255,53 @@ msgid "Listen in Browser"
msgstr "Escuchar en el navegador"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Libro"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "de"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Publicado"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Marcar como no leido"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Marcar como leido"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Leído"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Restarurar desde el archivo"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Añadir a archivación"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Archivado"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Descripción:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Agregar al estante"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Público)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Editar metadatos"
@@ -2656,10 +2653,20 @@ msgstr "Ok"
msgid "Calibre-Web eBook Catalog"
msgstr "Catálogo de ebooks de Calibre-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "Lector PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Redimensionar el texto cuando las barras laterales están abiertas."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Lector PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Atajos de teclado"
@@ -2776,13 +2783,20 @@ msgstr "Mostrar"
msgid "Hide"
msgstr "Ocultar"
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "Lector PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "Lector PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Lector básico de txt"
+#, fuzzy
+msgid "txt Reader"
+msgstr "Lector PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3009,15 +3023,15 @@ msgstr "Token de sincronización de Kobo"
msgid "Create/View"
msgstr "Crear/Ver"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Añadir columnas de valores propios de Permitidos/Denegados"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr "Sincronizar con Kobo solo los libros de las estanterías seleccionadas"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Borrar usuario"
@@ -3116,7 +3130,8 @@ msgid "Edit Public Shelves"
msgstr "Editar Estanterías públicas"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+#, fuzzy
+msgid "Sync selected Shelves with Kobo"
msgstr "sincronizar estanterías seleccionadas con Kobo"
#: cps/templates/user_table.html:154
diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo
index d070d238..ef6d3af5 100644
Binary files a/cps/translations/fi/LC_MESSAGES/messages.mo and b/cps/translations/fi/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/fi/LC_MESSAGES/messages.po b/cps/translations/fi/LC_MESSAGES/messages.po
index cb22bf73..53171283 100644
--- a/cps/translations/fi/LC_MESSAGES/messages.po
+++ b/cps/translations/fi/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
"Last-Translator: Samuli Valavuo \n"
"Language: fi\n"
@@ -30,433 +30,433 @@ msgstr "ei asennettu"
msgid "Statistics"
msgstr "Tilastot"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Palvelin uudelleenkäynnistetty, ole hyvä ja päivitä sivu"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Palvelinta sammutetaan, ole hyvä ja sulje sivu"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Tuntematon"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Ylläpitosivu"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Perusasetukset"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Käyttöliittymän asetukset"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Pääkäyttäjä"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Kaikki"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Näytä kaikki"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web asetukset päivitetty"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Oletko varma, että haluat poistaa hyllyn?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Haluatko varmasti pysäyttää Calibre-Webin?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Ominaisuuksien asetukset"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Ole hyvä ja täytä kaikki kentät!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "Sähköpostiosoite ei ole toimivasta domainista"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Lisää uusi käyttäjä"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Käyttäjä '%(user)s' lisätty"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Tälle sähköpostiosoitteelle tai tunnukselle löytyi jo tili."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Käyttäjä '%(nick)s' poistettu"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Pääkäyttäjiä ei jää jäljelle, käyttäjää ei voi poistaa"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Muokkaa käyttäjää %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Käyttäjä '%(nick)s' päivitetty"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Muuta SMTP asetuksia"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Testisähköpostin lähetyksessä tapahtui virhe: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Sähköpostipalvelimen tiedot päivitetty"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Käyttäjän %(user)s salasana palautettu"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Lokitiedoston katselin"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Haetaan päivitystiedostoa"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Ladataan päivitystiedostoa"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Puretaan päivitystiedostoa"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Korvataan tiedostoja"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Tietokantayhteydet on katkaistu"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Sammutetaan palvelin"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Päivitys valmistui, ole hyvä ja paina OK ja lataa sivu uudelleen"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Päivitys epäonnistui:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP virhe"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Yhteysvirhe"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Aikakatkaisu yhteyttä luotaessa"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Yleinen virhe"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -468,7 +468,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -481,8 +481,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Virhe eKirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla:"
@@ -519,7 +519,7 @@ msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)."
msgid "Failed to store file %(file)s."
msgstr "Tiedoston %(file)s tallennus epäonnistui."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -652,69 +652,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Tiedoston nimeäminen polusta '%(src)s' polkuun '%(dest)s' epäonnistui virheeseen: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -755,7 +755,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr "Rekisteröi tuottajalle %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\""
@@ -821,7 +821,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Kirjaudu sisään"
@@ -837,7 +837,7 @@ msgstr "Valtuutus vanhentunut"
msgid "Success! Please return to your device"
msgstr "Onnistui! Ole hyvä ja palaa laitteellesi"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Kirjat"
@@ -862,7 +862,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Parhaiten arvioidut kirjat"
@@ -871,7 +871,7 @@ msgid "Show Top Rated Books"
msgstr "Näytä parhaiten arvioidut kirjat"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Luetut kirjat"
@@ -880,7 +880,7 @@ msgid "Show read and unread"
msgstr "Näytä luetut ja lukemattomat"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Lukemattomat kirjat"
@@ -898,7 +898,7 @@ msgid "Show Random Books"
msgstr "Näytä satunnausia kirjoja"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategoriat"
@@ -908,7 +908,7 @@ msgstr "Näytä kategoriavalinta"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Sarjat"
@@ -926,7 +926,7 @@ msgid "Show author selection"
msgstr "Näytä kirjailijavalinta"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Julkaisijat"
@@ -936,7 +936,7 @@ msgstr "Näytä julkaisijavalinta"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Kielet"
@@ -960,7 +960,7 @@ msgstr "Tiedotomuodot"
msgid "Show file formats selection"
msgstr "Näytä tiedostomuotovalinta"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -968,7 +968,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -976,98 +976,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Virheellinen hylly valittu"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Valitettavasti sinulla ei ole oikeutta lisätä kirjaa hyllyyn: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Kirja on jo hyllyssä: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Kirja on lisätty hyllyyn: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Sinulla ei ole oikeutta lisätä kirjaa hyllyyn: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Kirjat on jo osa hyllyssä: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Kirjat on lisätty hyllyyn: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Kirjojen lisäys hyllyyn: %(sname)s epäonnistui"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Kirja on poistettu hyllystä: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Valitettavsti sinulla ei ole oikeutta poistaa kirjaa hyllystä: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "luo hylly"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Valitettavsti sinulla ei ole oikeutta poistaa kirjaa hyllystä: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Muokkaa hyllyä"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Hylly %(title)s luotu"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Hylly %(title)s muutettu"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Tapahtui virhe"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Muuta hyllyn: '%(name)s' järjestystä"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Hylly: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Virhe hyllyn avauksessa. Hyllyä ei ole tai se ei ole saatavilla"
@@ -1100,185 +1105,180 @@ msgstr "Uusi päivitys saatavilla. Paina alla olevaa nappia päivittääksesi ve
msgid "No release information available"
msgstr "Ei päivitystietoa saatavilla"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Löydä (satunnaiset kirjat)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Kuumat kirjat (ladatuimmat)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Kirjailija: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Julkaisija: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Sarja: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Arvostelu: %(rating)s tähteä"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Tiedostomuoto: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Kieli: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Edistynyt haku"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Hae"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Arvostelulistaus"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Tiedostomuotolistaus"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Tehtävät"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Julkaistu alkaen "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Julkaisut ennen "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Arvostelu <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Arvostelu >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Kirjan: %(res)s lähettämisessa tapahtui virhe"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Ole hyvä ja aseta Kindle sähköpostiosoite ensin..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Rekisteröi"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "LDAP autnetikoinnin aktivointi ei onnistu"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Väärä käyttäjätunnus tai salasana"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "olet kirjautunut tunnuksella: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)sn profiili"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profiili päivitetty"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Lue kirja"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1543,7 +1543,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1692,12 +1692,12 @@ msgid "Published Date"
msgstr "Julkaisupäivä"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Julkaisija"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Kieli"
@@ -1727,7 +1727,7 @@ msgstr "Hae metadata"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2192,35 +2192,35 @@ msgstr "Regular expression nimikkeiden järjestämiseen"
msgid "Default Settings for New Users"
msgstr "Uuden käyttäjän oletusasetukset"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Pääkäyttäjä"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Salli kirjojen lataukset"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Salli kirjojen luku"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Salli lisäykset"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Salli muutokset"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Salli sananan vaihto"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Salli julkisten hyllyjen editointi"
@@ -2228,12 +2228,12 @@ msgstr "Salli julkisten hyllyjen editointi"
msgid "Default Visibilities for New Users"
msgstr "Oletusnäkymä uusille käyttäjille"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Näytä satunnaisia kirjoja näkymässä"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2250,56 +2250,53 @@ msgid "Listen in Browser"
msgstr "Kuuntele selaimessa"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Kirja"
-
-#: cps/templates/detail.html:125
-msgid "of"
+#, python-format
+msgid "Book %(index)s of %(range)s"
msgstr ""
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Merkitse lukemattomaksi"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Merkitse luetuksi"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Luettu"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Kuvaus:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Lisää hyllyyn"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Muokkaa metadataa"
@@ -2650,10 +2647,20 @@ msgstr "Kirja"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web e-kirjaluettelo"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF lukija"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Uudelleenjärjestä teksti kun sivut on auki."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF lukija"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Näppäimistöpikakomennot"
@@ -2770,13 +2777,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF lukija"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF lukija"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Perus txt -lukija"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF lukija"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3003,15 +3017,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Poista tämä käyttäjä"
@@ -3104,7 +3118,7 @@ msgid "Edit Public Shelves"
msgstr "Muokkaa hyllyä"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo
index 4a47941f..44ecd3ed 100644
Binary files a/cps/translations/fr/LC_MESSAGES/messages.mo and b/cps/translations/fr/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po
index e82e482a..b380f6e6 100644
--- a/cps/translations/fr/LC_MESSAGES/messages.po
+++ b/cps/translations/fr/LC_MESSAGES/messages.po
@@ -22,7 +22,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-06-07 06:47+0200\n"
"Last-Translator: \n"
"Language: fr\n"
@@ -45,434 +45,434 @@ msgstr "non installé"
msgid "Statistics"
msgstr "Statistiques"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Serveur redémarré, merci de rafraîchir la page"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Arrêt du serveur en cours, merci de fermer la fenêtre"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Reconnecté avec succès"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Commande inconnue"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Inconnu"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Page admin"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Configuration principale"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Configuration de l’interface utilisateur"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Utilisateur admin"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Tout"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "L'utilisateur n'a pas été trouvé"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} utilisateurs supprimés avec succès"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Montrer tout"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Demande malformée"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Le nom de l’invité ne peut pas être modifié"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "L’invité ne peut pas avoir ce rôle"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "La valeur doit être vraie ou fausse"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Rôle invalide"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "L’invité ne peut pas avoir cette vue"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Vue invalide"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Les paramètres régionaux de l’invité sont déterminés automatiquement et ne peuvent pas être définis"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Aucun paramètre régional valide n’est donné"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Aucune langue de livre valide donnée"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Paramètre non trouvé"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr "Colonne de lecture non valide"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr "Colonne restreinte non valide"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Configuration de Calibre-Web mise à jour"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Voulez-vous vraiment supprimer le jeton Kobo ?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Voulez-vous vraiment supprimer ce domaine ?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Voulez-vous vraiment supprimer cet utilisateur ?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Voulez-vous vraiment supprimer l’étagère ?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Voulez-vous vraiment supprimer l’étagère ?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Voulez-vous vraiment modifier les langues de livre visibles pour le ou les utilisateurs sélectionnés ?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Voulez-vous vraiment modifier le rôle sélectionné pour le ou les utilisateurs sélectionnés ?"
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Voulez-vous vraiment modifier les restrictions sélectionnées pour le ou les utilisateurs sélectionnés ?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Voulez-vous vraiment modifier les restrictions de visibilité sélectionnées pour le ou les utilisateurs sélectionnés ?"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Voulez-vous vraiment supprimer l’étagère?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Voulez-vous vraiment arrêter Calibre-Web ?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Étiquette introuvable"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Action invalide"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Refuser"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Autoriser"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json n'est pas configuré pour l'application Web"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier logfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Access Logfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Veuillez saisir un fournisseur LDAP, Port, DN et l'identifiant objet de l'utilisateur"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr "Veuillez entrer un compte de service LDAP"
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Le filtre objet du groupe LDAP a besoin d'un identifiant de format \"%s\""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Le filtre objet du groupe LDAP a une parenthèse non gérée"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Le filtre objet de l'utilisateur LDAP a besoin d'un identifiant de format \"%s\""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Le filtre objet de l'utilisateur LDAP a une parenthèse non gérée"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "Le filtre utilisateur des membres LDAP doit avoir un identificateur de format \"%s\\ »"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Le filtre utilisateur de membre LDAP a des parenthèses non appariées"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CACertificat, certificat ou emplacement de clé non valide, veuillez entrer le chemin correct"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Les paramètres de la base de données ne sont pas accessibles en écriture"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement de la base de données est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "La base de données n'est pas accessible en écriture"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Keyfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "L'emplacement du fichier Certfile est incorrect, veuillez saisir un chemin valide"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Configuration des options"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Veuillez compléter tous les champs !"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Ajouter un nouvel utilisateur"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Utilisateur '%(user)s' créé"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Un compte existant a été trouvé pour cette adresse de courriel ou pour ce surnom."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Utilisateur '%(nick)s' supprimé"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "Impossible de supprimer l’utilisateur Invité"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Éditer l'utilisateur %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Utilisateur '%(nick)s' mis à jour"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Modifier les paramètres du serveur de courriels"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "La vérification du compte Gmail réussie"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Teste les courriels en file d’attente pour l’envoi à %(email)s, veuillez vérifier le résultat des tâches"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Il y a eu une erreur pendant l’envoi du courriel de test : %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Veuillez d'abord configurer votre adresse de courriel..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Les paramètres du serveur de courriels ont été mis à jour"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Veuillez configurer les paramètres SMTP au préalable..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Visualiseur de fichier journal"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Demande de mise à jour"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Téléchargement de la mise à jour"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Décompression de la mise à jour"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Remplacement des fichiers"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Les connexions à la base de données ont été fermées"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Arrêt du serveur"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Mise à jour terminée, merci d’appuyer sur okay et de rafraîchir la page"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "La mise à jour a échoué :"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Erreur HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Erreur de connexion"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Délai d'attente dépassé lors de l'établissement de connexion"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Erreur générale"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Le fichier de mise à jour ne peut pas être sauvegardé dans le répertoire temporaire"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erreur : %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Erreur : Aucun utilisateur renvoyé dans la réponse LDAP du serveur"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Au moins un utilisateur LDAP n'a pas été trouvé dans la base de données"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} utilisateur importé avec succès"
@@ -484,7 +484,7 @@ msgstr "non configuré"
msgid "Execution permissions missing"
msgstr "Les permissions d'exécutions manquantes"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "La colonne personnalisée No.%(column)d n'existe pas dans la base de données calibre"
@@ -497,8 +497,8 @@ msgstr "Le format du livre a été supprimé avec succès"
msgid "Book Successfully Deleted"
msgstr "Le livre a été supprimé avec succès"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible"
@@ -535,7 +535,7 @@ msgstr "Impossible de créer le chemin %(path)s (Permission refusée)."
msgid "Failed to store file %(file)s."
msgstr "Échec de la sauvegarde du fichier %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Erreur de la base de données: %(error)s."
@@ -668,69 +668,69 @@ msgstr "Échec de la suppression du dossier de livre pour le livre %(id)s, le ch
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "La suppression du livre %(id)s a échoué: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Suppression du livre %(id)s, le chemin du livre est invalide : %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "La modification du nom de fichier du chemin : '%(src)s' vers '%(dest)s' a échoué avec l’erreur : %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Le chemin du livre %(path)s n'a pas été trouvé dans Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Un compte existant a été trouvé pour cette adresse de courriel."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Cet utilisateur est déjà pris"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Format de l’adresse courriel invalide"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Erreur lors du téléchargement de la couverture"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Erreur de format de couverture"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Impossible de créer le chemin pour la couverture"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Le fichier couverture n'est pas un fichier image valide, ou ne peut pas être stocké"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Seuls les fichiers jpg/jpeg/png/webp/bmp sont supportés comme fichier de couverture"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Seuls les fichiers jpg/jpeg sont supportés comme fichier de couverture"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Fichier binaire Unrar non trouvé"
@@ -771,7 +771,7 @@ msgstr "Configuration Kobo"
msgid "Register with %(provider)s"
msgstr "Enregistrer avec %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "vous êtes maintenant connecté comme : '%(nickname)s'"
@@ -837,7 +837,7 @@ msgid "{} Stars"
msgstr "{} Étoiles"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Connexion"
@@ -853,7 +853,7 @@ msgstr "Jeton expiré"
msgid "Success! Please return to your device"
msgstr "Réussite! Merci de vous tourner vers votre appareil"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Livres"
@@ -878,7 +878,7 @@ msgstr "Livres téléchargés"
msgid "Show Downloaded Books"
msgstr "Montrer les livres téléchargés"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Livres les mieux notés"
@@ -887,7 +887,7 @@ msgid "Show Top Rated Books"
msgstr "Montrer les livres les mieux notés"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Livres lus"
@@ -896,7 +896,7 @@ msgid "Show read and unread"
msgstr "Montrer lus et non-lus"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Livres non-lus"
@@ -914,7 +914,7 @@ msgid "Show Random Books"
msgstr "Montrer des livres au hasard"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Catégories"
@@ -924,7 +924,7 @@ msgstr "Montrer la sélection par catégories"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Séries"
@@ -942,7 +942,7 @@ msgid "Show author selection"
msgstr "Montrer la sélection par auteur"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Éditeurs"
@@ -952,7 +952,7 @@ msgstr "Montrer la sélection par éditeur"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Langues"
@@ -976,7 +976,7 @@ msgstr "Formats de fichier"
msgid "Show file formats selection"
msgstr "Afficher la sélection des formats de fichiers"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Livres archivés"
@@ -984,7 +984,7 @@ msgstr "Livres archivés"
msgid "Show archived books"
msgstr "Afficher les livres archivés"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Liste des livres"
@@ -992,98 +992,103 @@ msgstr "Liste des livres"
msgid "Show Books List"
msgstr "Montrer la liste des livres"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "L’étagère indiquée est invalide"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Désolé, vous n’êtes pas autorisé à ajouter un livre dans l’étagère: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Ce livre est déjà sur l’étagère : %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Vous n’êtes pas autorisé à ajouter un livre dans l’étagère : %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Ces livres sont déjà sur l’étagère : %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Les livres ont été ajoutés à l’étagère : %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Impossible d’ajouter les livres à l’étagère : %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Le livre a été supprimé de l'étagère %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Désolé, vous n’êtes pas autorisé à enlever un livre de cette étagère : %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Créer une étagère"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Désolé, vous n’êtes pas autorisé à enlever un livre de cette étagère : %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Modifier une étagère"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Étagère %(title)s créée"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "L’étagère %(title)s a été modifiée"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Il y a eu une erreur"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Une étagère publique avec le nom '%(title)s' existe déjà."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Une étagère privée avec le nom '%(title)s' existe déjà."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Modifier l’arrangement de l’étagère : ‘%(name)s’"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Étagère : '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Erreur à l’ouverture de l’étagère. Elle n’existe plus ou n’est plus accessible"
@@ -1116,185 +1121,180 @@ msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-desso
msgid "No release information available"
msgstr "Aucune information concernant cette version n’est disponible"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Découvrir (Livres au hasard)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Livres populaires (les plus téléchargés)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Livres téléchargés par %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur : %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Éditeur : '%(name)s'"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Séries : %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Évaluation : %(rating)s étoiles"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Format de fichier : %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Catégorie : %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Langue : %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Recherche avancée"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Chercher"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Téléchargements"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Liste des évaluations"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Liste de formats de fichiers"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Tâches"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Publié après le "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Publié avant le "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Évaluation <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Évaluation >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status de lecture = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Erreur lors de la recherche de colonnes personnalisées, veuillez redémarrer Calibre-Web"
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Le livre a été mis en file de traitement avec succès pour un envoi vers %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Veuillez mettre à jour votre profil avec une adresse de courriel Kindle valide."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Le serveur de courriel n'est pas configuré, veuillez contacter votre administrateur!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Créer un compte"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Le courriel de confirmation a été envoyé à votre adresse."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Impossible d’activer l’authentification LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Connexion de secours comme: '%(nickname)s', le serveur LDAP est indisponible, ou l'utilisateur est inconnu"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Impossible de se connecter: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Mauvais nom d'utilisateur ou mot de passe"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Le nouveau mot de passe a été envoyé vers votre adresse de courriel"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Profil de %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profil mis à jour"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Lire un livre"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Aucun fichier gmail.json avec information OAuth valide trouvé"
@@ -1559,7 +1559,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Annuler"
@@ -1708,12 +1708,12 @@ msgid "Published Date"
msgstr "Date de publication"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Éditeur"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Langue"
@@ -1743,7 +1743,7 @@ msgstr "Obtenir les métadonnées"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Sauvegarder"
@@ -2209,35 +2209,35 @@ msgstr "Expression régulière à utiliser pour trier les titres"
msgid "Default Settings for New Users"
msgstr "Réglages par défaut pour les nouveaux utilisateurs"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Utilisateur admin"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Permettre les téléchargements"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Autoriser le visionneur de livres"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Permettre le téléversement de fichiers"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Permettre l'édition"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Permettre la suppression de livres"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Permettre le changement de mot de passe"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Autoriser la modification d’étagères publiques"
@@ -2245,12 +2245,12 @@ msgstr "Autoriser la modification d’étagères publiques"
msgid "Default Visibilities for New Users"
msgstr "Mode de visualisation par défaut pour les nouveaux utilisateurs"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Montrer aléatoirement des livres dans la vue détaillée"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Ajouter les étiquettes autorisées/refusées"
@@ -2267,56 +2267,53 @@ msgid "Listen in Browser"
msgstr "Écouter dans le navigateur"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Livre"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "de"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Publié"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Marquer comme non lu"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Marquer comme lu"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Lu"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Restaurer à partir de l'archive"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Ajouter comme archive"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Archivé"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Description :"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Ajouter à l'étagère"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Public)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Éditer les métadonnées"
@@ -2668,10 +2665,20 @@ msgstr "Livre"
msgid "Calibre-Web eBook Catalog"
msgstr "Catalogue de livres électroniques Calibre-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "Lecteur PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Mettre à jour la mise en page du texte quand les bandeaux latéraux sont ouverts."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Lecteur PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Raccourcis clavier"
@@ -2788,13 +2795,20 @@ msgstr "Montrer"
msgid "Hide"
msgstr "Cacher"
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "Lecteur PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "Lecteur PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Lecteur de texte simple"
+#, fuzzy
+msgid "txt Reader"
+msgstr "Lecteur PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3021,15 +3035,15 @@ msgstr "Jeton de synchro Kobo"
msgid "Create/View"
msgstr "Créer/visualiser"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Ajouter les valeurs de colonnes personnalisées autorisées/refusées"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr "Synchroniser uniquement les livres dans les étagères sélectionnées avec Kobo"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Supprimer l'utilisateur"
@@ -3128,7 +3142,8 @@ msgid "Edit Public Shelves"
msgstr "Étagère publique"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+#, fuzzy
+msgid "Sync selected Shelves with Kobo"
msgstr "Synchroniser les étagères sélectionnées avec Kobo"
#: cps/templates/user_table.html:154
diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo
index 867b5264..4ffb9fe6 100644
Binary files a/cps/translations/hu/LC_MESSAGES/messages.mo and b/cps/translations/hu/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/hu/LC_MESSAGES/messages.po b/cps/translations/hu/LC_MESSAGES/messages.po
index e1b7571e..9cf7340e 100644
--- a/cps/translations/hu/LC_MESSAGES/messages.po
+++ b/cps/translations/hu/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
"Last-Translator: \n"
"Language: hu\n"
@@ -30,433 +30,433 @@ msgstr "nincs telepítve"
msgid "Statistics"
msgstr "Statisztika"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "A kiszolgáló újraindult, tölts be újra az oldalt!"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "A kiszolgáló leállítása folyamatban, zárd be ezt az ablakot"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Ismeretlen"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Rendszergazda oldala"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Alapvető beállítások"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Felhasználói felület beállításai"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Rendszergazda felhasználó"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr ""
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Mindent mutass"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "A Calibre-Web konfigurációja frissítve."
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Valóban törölni akarod a polcot?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Valóban le akarod állítani a Calibre-Web-et?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Funkciók beállítása"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Az összes mezőt ki kell tölteni!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "Az e-mail tartománya nem érvényes."
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Új felhasználó hozzáadása"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "A következő felhasználó létrehozva: %(user)s"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Már létezik felhasználó ehhez az e-mail címhez vagy felhasználói névhez."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "A felhasználó törölve: %(nick)s"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr " A felhasználó szerkesztése: %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "A felhasználó frissítve: %(nick)s"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Ismeretlen hiba történt. Próbáld újra később!"
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP beállítások változtatása"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Hiba történt a teszt levél küldése során: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Az e-mail kiszolgáló beállításai frissítve."
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Először be kell állítani az SMTP levelező beállításokat..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Frissítési csomag kérése"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Frissítési csomag letöltése"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Frissítési csomag kitömörítése"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Fájlok cserélése"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Adatbázis kapcsolatok lezárva"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Szerver leállítása"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "A frissítés települt, kattints az OK-ra és újra tölt az oldal"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "A frissítés nem sikerült:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP hiba"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Kapcsolódási hiba"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Időtúllépés a kapcsolódás során"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Általános hiba"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -468,7 +468,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -481,8 +481,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Hiba történt az e-könyv megnyitásakor. A fájl nem létezik vagy nem érhető el:"
@@ -519,7 +519,7 @@ msgstr "Nem sikerült létrehozni az elérési utat (engedély megtagadva): %(pa
msgid "Failed to store file %(file)s."
msgstr "Nem sikerült elmenteni a %(file)s fájlt."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -652,69 +652,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "\"%(src)s\" fájl átnevezése \"%(dest)s\"-re nem sikerült a következő hiba miatt: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "A \"%(file)s\" fájl nem található a Google Drive-on"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "A könyv elérési útja (\"%(path)s\") nem található a Google Drive-on"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Már létezik felhasználó ehhez az e-mail címhez."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -755,7 +755,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Be vagy jelentkezve mint: %(nickname)s"
@@ -821,7 +821,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Belépés"
@@ -837,7 +837,7 @@ msgstr "A token érvényessége lejárt."
msgid "Success! Please return to your device"
msgstr "Sikerült! Újra használható az eszköz."
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr ""
@@ -862,7 +862,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Legjobb könyvek"
@@ -871,7 +871,7 @@ msgid "Show Top Rated Books"
msgstr "Legjobbra értékelt könyvek mutatása"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Olvasott könyvek"
@@ -880,7 +880,7 @@ msgid "Show read and unread"
msgstr "Mutassa az olvasva/olvasatlan állapotot"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Olvasatlan könyvek"
@@ -898,7 +898,7 @@ msgid "Show Random Books"
msgstr "Mutass könyveket találomra"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Címkék"
@@ -908,7 +908,7 @@ msgstr "Címke választó mutatása"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Sorozatok"
@@ -926,7 +926,7 @@ msgid "Show author selection"
msgstr "Szerző választó mutatása"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Kiadók"
@@ -936,7 +936,7 @@ msgstr "Kiadó választó mutatása"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Nyelvek"
@@ -960,7 +960,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -968,7 +968,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -976,98 +976,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "A megadott polc érvénytelen!"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Elnézést, nem vagy jogosult hozzáadni a könyvet a következő polcra: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "A könyv már a következő polcon van: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "A könyv hozzá lett adva a következő polchoz: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Nincs jogosultságod könyvet tenni a következő polcra: %(name)s."
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "A könyvek már a következő polcon vannak: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "A könyvek hozzá lettek adva a következő polchoz: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Nem sikerült hozzáadni a könyveket a polchoz: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "A könyv el lett távolítva a polcról: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Sajnálom, nincs jogosultságot eltávolítani könyvet erről a polcról: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Polc készítése"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Sajnálom, nincs jogosultságot eltávolítani könyvet erről a polcról: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Polc szerkesztése"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "A következő polc létre lett hozva: %(title)s"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "A következő polc megváltoztatva: %(title)s"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Hiba történt"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "A következő polc átrendezése: %(name)s"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Polc: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Hiba a polc megnyitásakor. A polc nem létezik vagy nem elérhető."
@@ -1100,185 +1105,180 @@ msgstr "Új frissítés érhető el. Kattints az alábbi gombra a frissítéshez
msgid "No release information available"
msgstr "Nincs információ a kiadásról."
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Felfedezés (könyvek találomra)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Kelendő könyvek (legtöbbet letöltöttek)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Kiadó: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Sorozat: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Címke: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Nyelv: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Részletes keresés"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Keresés"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Letöltések"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr ""
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Feladatok"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Kiadva ezután: "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Kiadva ezelőtt: "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "A könyv sikeresen küldésre lett jelölve a következő címre: %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Hiba történt a könyv küldésekor: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Először be kell állítani a kindle e-mail címet..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Regisztrálás"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Jóváhagyó levél elküldve az email címedre."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Rossz felhasználó név vagy jelszó!"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profilja"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "A profil frissítve."
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Egy olvasott könyv"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1543,7 +1543,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1692,12 +1692,12 @@ msgid "Published Date"
msgstr "Kiadás éve"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Kiadó"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Nyelv"
@@ -1727,7 +1727,7 @@ msgstr "Metaadatok beszerzése"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2192,35 +2192,35 @@ msgstr "Reguláris kifejezés címek sorbarendezéséhez"
msgid "Default Settings for New Users"
msgstr "Új felhasználók alapértelmezett beállításai"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Rendszergazda felhasználó"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Letöltés engedélyezése"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Feltöltés engedélyezése"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Szerkesztés engedélyezése"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Jelszó változtatásának engedélyezése"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Nyilvános polcok szerkesztésének engedélyezése"
@@ -2228,12 +2228,12 @@ msgstr "Nyilvános polcok szerkesztésének engedélyezése"
msgid "Default Visibilities for New Users"
msgstr "Új felhasználók alapértelmezett látható elemei"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Mutasson könyveket találomra a részletes nézetben"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2250,56 +2250,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr " "
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "kötete a sorozatnak:"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Legyen olvasatlan"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Legyen olvasott"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Olvasva"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Ismertető:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Hozzáadás polchoz"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Metaadatok szerkesztése"
@@ -2650,10 +2647,18 @@ msgstr " "
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web e-könyv katalógus"
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr ""
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Szöveg újratördelése amikor az oldalsávok nyitva vannak"
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr ""
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Gyorsbillentyűk"
@@ -2770,12 +2775,17 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr ""
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr ""
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
+#, fuzzy
+msgid "txt Reader"
msgstr "Egyszerű txt olvasó"
#: cps/templates/register.html:4
@@ -3003,15 +3013,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "A felhasználó törlése"
@@ -3104,7 +3114,7 @@ msgid "Edit Public Shelves"
msgstr "Polc szerkesztése"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo
index f9892616..552513f4 100644
Binary files a/cps/translations/it/LC_MESSAGES/messages.mo and b/cps/translations/it/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po
index 3dae454f..0d0c6b08 100644
--- a/cps/translations/it/LC_MESSAGES/messages.po
+++ b/cps/translations/it/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: ElQuimm \n"
"Language: it\n"
@@ -29,431 +29,431 @@ msgstr "non installato"
msgid "Statistics"
msgstr "Statistiche"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Server riavviato, per favore ricarica la pagina"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Eseguo l'arresto del server, per favore chiudi la finestra"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Ricollegato con successo"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Comando sconosciuto"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Sconosciuto"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Pagina di amministrazione"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Configurazione di base"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Configurazione dell'interfaccia utente"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr "Modifica gli utenti"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Tutti"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Utente non trovato"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} utente eliminato con successo"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "tutte le lingue presenti"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Richiesta non formulata correttamente"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Il nome dell'utente Guest (ospite) non può essere modificato"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "L'utente Guest (ospite) non può avere questo ruolo"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Non rimarrebbe nessun utente amministratore, non posso rimuovere il ruolo di amministratore"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Il valore deve essere o vero o flaso"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Ruolo non valido"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "L'utente Guest (ospite) non può avere questa schermata"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Visualizzazione invalida"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Le impostazioni locali dell'utente Guest (ospite) sono determinate automaticamente e non possono essere configurate"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Nessuna lingua valida indicata"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Nessuna lingua valida per il libro"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Parametro non trovato"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr "Colonna di lettura non valida"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr "Colonna con restrizioni non valida"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "La configurazione di Calibre-Web è stata aggiornata"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Vuoi veramente eliminare il token di Kobo?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Vuoi veramente eliminare questo dominio?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Vuoi veramente eliminare questo utente?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Vuoi veramente eliminare questo scaffale?"
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Sei sicuro di voler modificare le impostazioni locali dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Sei sicuro di voler modificare le impostazioni delle lingue visualizzabili dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Sei sicuro di voler modificare il ruolo evidenziato dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Sei sicuro di voler modificare le impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Sei sicuro di voler modificare le impostazioni delle restrizioni di visualizzazione dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Sei sicuro di voler modificare il ruolo evidenziato dell'/degli utente/i selezionato/i?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Vuoi veramente arrestare Calibre-Web?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Etichetta non trovata"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Azione non valida"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Nega"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Permetti"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json non è configurato per Web Application"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione dell'Access Logfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Per favore digita un Provider LDAP, porta, DN e User Object Identifier"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Per favore digita un nome di utente valido per resettare la password"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Group Object Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Group Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP User Object Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP User Object Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Member User Filter deve avere un \"%s\" Format Identifier"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Member User Filter contiene una parentesi senza la corrispettiva"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CACertificate, il certificato o la posizione della chiave non sono corretti, per favore indica il percorso corretto"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "I parametri del DB non sono scrivibili"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del DB non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Il DB non è scrivibile"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Keyfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "La posizione del Certfile non è valida, per favore indica il percorso corretto"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Ulteriori opzioni"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Per favore compila tutti i campi!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "L'e-mail non proviene da un dominio valido"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Aggiungi un nuovo utente"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "L'utente '%(user)s' è stato creato"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr "Trovato un account esistente con questo e-mail o nome di utente"
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "L'utente '%(nick)s' è stato eliminato"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "Non posso eliminare l'utente Guest (ospite)"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Modifica l'utente %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "L'utente '%(nick)s' è stato aggiornato"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Si è verificato un errore sconosciuto: per favore riprova."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Modifica le impostazioni del server e-mail"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "L'account Gmail è stato verificato con successo"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "L'e-mail di test è stato accodato con successo per essere spedito a %(email)s, per favore verifica tramite il pulsante 'Compito' il risultato"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Si è verificato un errore nell'invio dell'e-mail di test: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Per favore prima configura il tuo indirizzo e-mail..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Configurazione del server e-mail aggiornata"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "La password dell'utente %(user)s è stata resettata"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura dapprima le impostazioni del server SMTP..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Visualizzatore del Logfile"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Richiedo il pacchetto di aggiornamento"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Scarico il pacchetto di aggiornamento"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Decomprimo il pacchetto di aggiornamento"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Sostituisco i file"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Le connessioni al database sono chiuse"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Arresto il server"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Aggiornamento completato, per favore premi ok e ricarica la pagina"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Aggiornamento non riuscito:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Errore HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Errore di connessione"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Tempo scaduto nello stabilire la connessione"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Errore generale"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Il file di aggiornamento non può essere salvato nella cartella temporanea"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Fallita la creazione di almeno un utente LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Errore: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Errore: nessun utente restituito in risposta dal server LDAP"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Almeno un utente LDAP non è stato trovato nel database"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} utente importato con successo"
@@ -465,7 +465,7 @@ msgstr "non configurato"
msgid "Execution permissions missing"
msgstr "Mancano i permessi di esecuzione"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "La colonna personale no.%(column)d non esiste nel database di Calibre"
@@ -478,8 +478,8 @@ msgstr "Il formato del libro è stato eliminato con successo"
msgid "Book Successfully Deleted"
msgstr "Il libro é stato eliminato con successo"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Errore durante l'apertura del libro selezionato. Il file non esiste o il file non è accessibile"
@@ -516,7 +516,7 @@ msgstr "Impossibile creare la cartella %(path)s (autorizzazione negata)."
msgid "Failed to store file %(file)s."
msgstr "Il salvataggio del file %(file)s non è riuscito."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Errore nel database: %(error)s."
@@ -649,68 +649,68 @@ msgstr "L'eliminazione della cartella del libro %(id)s non è riuscita, il perco
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "L'eliminazione del libro %(id)s non è riuscita: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Eliminazione del libro %(id)s. Il percorso del libro non è valido: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "La modifica del titolo da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "La modifica del file nella cartella da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "File %(file)s non trovato su Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Non ho trovato la cartella %(path)s del libro su Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr "Ho trovato un account creato in precedenza con questo indirizzo e-mail."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Questo nome di utente è già utilizzato"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "L'e-mail non è scritto in un formato valido"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Errore nello scaricare la copertina"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Errore di formato della copertina"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Errore nel creare la cartella per la copertina"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Il file della copertina non è in un formato immagine valido o non può essere salvato"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Solamente i file nei formati jpg/jpeg/png/webp/bmp sono supportati per le copertine"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Solamente i file nei formati jpg/jpeg sono supportati per le copertine"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Non ho trovato il file binario di UnRar"
@@ -751,7 +751,7 @@ msgstr "Configurazione di Kobo"
msgid "Register with %(provider)s"
msgstr "Registra con %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ora sei connesso come: '%(nickname)s'"
@@ -817,7 +817,7 @@ msgid "{} Stars"
msgstr "{} Stelle"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Accesso"
@@ -833,7 +833,7 @@ msgstr "Il token è scaduto"
msgid "Success! Please return to your device"
msgstr "Riuscito! Torna al tuo dispositivo"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Libri"
@@ -858,7 +858,7 @@ msgstr "Libri scaricati"
msgid "Show Downloaded Books"
msgstr "Mostra l'opzione per la visualizzazione dei libri scaricati"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Libri meglio valutati"
@@ -867,7 +867,7 @@ msgid "Show Top Rated Books"
msgstr "Mostra l'opzione per la selezione dei libri meglio valutati"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Libri da leggere"
@@ -876,7 +876,7 @@ msgid "Show read and unread"
msgstr "Mostra l'opzione per la selezione letto e non letto"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Libri non letti"
@@ -894,7 +894,7 @@ msgid "Show Random Books"
msgstr "Mostra libri casualmente"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Categorie"
@@ -904,7 +904,7 @@ msgstr "Mostra l'opzione per la selezione delle categorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Serie"
@@ -922,7 +922,7 @@ msgid "Show author selection"
msgstr "Mostra l'opzione per la selezione degli autori"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Editori"
@@ -932,7 +932,7 @@ msgstr "Mostra l'opzione per la selezione degli editori"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Lingue"
@@ -956,7 +956,7 @@ msgstr "Formati file"
msgid "Show file formats selection"
msgstr "Mostra l'opzione per la selezione del formato dei file"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Libri archiviati"
@@ -964,7 +964,7 @@ msgstr "Libri archiviati"
msgid "Show archived books"
msgstr "Mostra l'opzione per la selezione dei libri archiviati"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Elenco libri"
@@ -972,98 +972,103 @@ msgstr "Elenco libri"
msgid "Show Books List"
msgstr "Mostra l'opzione per visualizzare i libri sottoforma di elenco"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Lo scaffale specificato non è valido"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Mi spiace, ma non sei autorizzato ad aggiungere libri allo scaffale: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Il libro è gia presente nello scaffale: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Il libro è stato aggiunto allo scaffale: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Non sei autorizzato ad aggiungere libri allo scaffale: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "I libri sono già presenti nello scaffale: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "I libri sono stati aggiunti allo scaffale: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Non posso aggiungere libri allo scaffale: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Spiacente, ma non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Crea uno scaffale"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Spiacente, ma non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Modifica uno scaffale"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Lo scaffale %(title)s è stato creato"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Lo scaffale %(title)s è stato modificato"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "C'era un errore"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Esiste già uno scaffale pubblico denominato '%(title)s'."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Esiste già uno scaffale privato denominato '%(title)s'."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Modifica l'ordine dello scaffale: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Scaffale: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Errore durante l'apertura dello scaffale. Lo scaffale non esiste o non è accessibile"
@@ -1096,185 +1101,180 @@ msgstr "Nuovo aggiornamento disponibile. Clicca sul pulsante sottostante per agg
msgid "No release information available"
msgstr "Non sono disponibili informazioni sulla versione"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Scopri (libri casuali)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "I libri più richiesti"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "I libri scaricati da %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Autore: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editore: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Valutazione: %(rating)s stelle"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del file: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Lingua: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Ricerca avanzata"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Cerca"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Elenco delle valutazioni"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Elenco dei formati"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Compito"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Pubblicato dopo il "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Pubblicato prima del "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Valutazione <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Valutazione >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Stato di lettura = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Libro accodato con successo per essere spedito a %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Oops! Si è verificato un errore durante l'invio di questo libro: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Per favore aggiorna il tuo profilo con un indirizzo e-mail Kindle a cui inviare i libri."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Il server e-mail non è configurato, per favore contatta l'amministratore"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registra"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Il tuo e-mail non è autorizzato alla registrazione"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Un messaggio di conferma è stato inviato al tuo recapito e-mail."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Non posso attivare l'autenticazione LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Fallback login come: '%(nickname)s', il server LDAP non è raggiungibile o l'utente è sconosciuto"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Non posso accedere: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Nome utente o password errati"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Una nuova password è stata inviata al tuo recapito e-mail"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Per favore digita un nome di utente valido per resettare la password"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ora sei connesso come '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Profilo di %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profilo aggiornato"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Leggi un libro"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Ho trovato un gmail.json file senza informazione OAuth"
@@ -1539,7 +1539,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Annulla"
@@ -1688,12 +1688,12 @@ msgid "Published Date"
msgstr "Data di pubblicazione"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Editore"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Lingua"
@@ -1723,7 +1723,7 @@ msgstr "Ottieni metadati"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Salva"
@@ -2189,35 +2189,35 @@ msgstr "Espressione regolare per ordinare la visualizzazione dei titoli"
msgid "Default Settings for New Users"
msgstr "Impostazioni predefinite per i nuovi utenti"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Utente amministratore"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Permetti il download"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Permetti l'utilizzo del visualizzatore di libri"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Permetti l'upload"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Permetti la modifica"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Permetti l'eliminazione di libri"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Permetti la modifica della password"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Permetti la modifica degli scaffali pubblici"
@@ -2225,12 +2225,12 @@ msgstr "Permetti la modifica degli scaffali pubblici"
msgid "Default Visibilities for New Users"
msgstr "Visibilità di base per i nuovi utenti"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Mostra libri scelti aleatoriamente nella vista dettagliata"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Aggiungi categorie permesse/negate"
@@ -2247,56 +2247,53 @@ msgid "Listen in Browser"
msgstr "Ascolta nel navigatore"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Libro"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "di"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Pubblicato"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Marca come non letto"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Marca come letto"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "da leggere"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Ripristina dall'archivio"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Aggiungi all'archivio"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Archiviato"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Descrizione:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Aggiungi allo scaffale"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Pubblico)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Modifica metadati"
@@ -2649,10 +2646,20 @@ msgstr "Ok"
msgid "Calibre-Web eBook Catalog"
msgstr "Catalogo Calibre-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "Lettore PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Adatta il testo quando le barre laterali sono aperte."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Lettore PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Scorciatoie della tastiera"
@@ -2769,13 +2776,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "Lettore PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "Lettore PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Semplice lettore di file di testo (txt)"
+#, fuzzy
+msgid "txt Reader"
+msgstr "Lettore PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3001,15 +3015,15 @@ msgstr "Token Kobo Sync"
msgid "Create/View"
msgstr "Crea/Visualizza"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Aggiungi valori personali permessi/negati nelle colonne"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Elimina utente"
@@ -3095,7 +3109,7 @@ msgid "Edit Public Shelves"
msgstr "Modifica gli scaffali pubblici"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo
index 3650e669..787c3a7d 100644
Binary files a/cps/translations/ja/LC_MESSAGES/messages.mo and b/cps/translations/ja/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po
index fd853182..d330edec 100644
--- a/cps/translations/ja/LC_MESSAGES/messages.po
+++ b/cps/translations/ja/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: white \n"
"Language: ja\n"
@@ -30,428 +30,428 @@ msgstr "インストールされていません"
msgid "Statistics"
msgstr "統計"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "サーバを再起動しました。ページを再読み込みしてください"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "サーバをシャットダウンしています。ページを閉じてください"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "不明"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "管理者ページ"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "基本設定"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "UI設定"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr ""
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr ""
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web の設定を更新しました"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr ""
-#: cps/admin.py:588
+#: cps/admin.py:591
msgid "Are you sure you want to change Calibre library location?"
msgstr ""
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "機能設定"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "全ての項目を入力してください"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "このメールは有効なドメインからのものではありません"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "新規ユーザ追加"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "ユーザ '%(user)s' を作成しました"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "このメールアドレスかニックネームで登録されたアカウントが見つかりました"
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "ユーザ '%(nick)s' を削除しました"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s を編集"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "ユーザ '%(nick)s' を更新しました"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "不明なエラーが発生しました。あとで再試行してください。"
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP設定を変更"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "テストメールを %(res)s に送信中にエラーが発生しました"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "メールサーバの設定を更新しました"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s 用のパスワードをリセット"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "初めにSMTPメールの設定をしてください"
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "更新データを要求中"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "更新データをダウンロード中"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "更新データを展開中"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "ファイルを置換中"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "データベースの接続を切断完了"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "サーバ停止中"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "アップデート完了、OKを押してページをリロードしてください"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "アップデート失敗:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTPエラー"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "接続エラー"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "接続を確立中にタイムアウトしました"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "エラー発生"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -463,7 +463,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -476,8 +476,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -514,7 +514,7 @@ msgstr "%(path)s の作成に失敗しました (Permission denied)。"
msgid "Failed to store file %(file)s."
msgstr "%(file)s を保存できません。"
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -647,69 +647,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "エラー: %(error)s により、タイトルを %(src)s から %(dest)s に変更できませんでした。"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "エラー: %(error)s により、ファイルパスを %(src)s から %(dest)s に変更できませんでした。"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "ファイル %(file)s はGoogleドライブ上にありません"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "本のパス %(path)s はGoogleドライブ上にありません"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "このメールアドレスで登録されたアカウントがあります"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -750,7 +750,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "%(nickname)s としてログイン中"
@@ -816,7 +816,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "ログイン"
@@ -832,7 +832,7 @@ msgstr "トークンが無効です"
msgid "Success! Please return to your device"
msgstr "成功です!端末に戻ってください"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr ""
@@ -857,7 +857,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr ""
@@ -866,7 +866,7 @@ msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "読んだ本"
@@ -875,7 +875,7 @@ msgid "Show read and unread"
msgstr "既読の本と未読の本を表示"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "未読の本"
@@ -893,7 +893,7 @@ msgid "Show Random Books"
msgstr "ランダムで本を表示"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "カテゴリ"
@@ -903,7 +903,7 @@ msgstr "カテゴリ選択を表示"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "シリーズ"
@@ -921,7 +921,7 @@ msgid "Show author selection"
msgstr "著者選択を表示"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "出版社"
@@ -931,7 +931,7 @@ msgstr "出版社選択を表示"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "言語"
@@ -955,7 +955,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -963,7 +963,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -971,98 +971,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "指定された本棚は無効です"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "申し訳ありませんが、あなたは %(shelfname)s に本を追加することが許可されていません"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "この本は %(shelfname)s にすでに追加されています"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "本を %(sname)s に追加しました"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "%(name)s に本を追加することが許可されていません"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "これらの本は %(name)s にすでに追加されています"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "本が %(sname)s に追加されました"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "%(sname)s に本を追加できません"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "本が %(sname)s から削除されました"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "申し訳ありませんが、%(sname)s から本を削除することが許可されていません"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "本棚を作成する"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "申し訳ありませんが、%(sname)s から本を削除することが許可されていません"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "本棚を編集する"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "%(title)s を作成しました"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "%(title)s を変更しました"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "エラーが発生しました"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "'%(name)s' 内の本の順番を変更する"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "本棚: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "本棚を開けません。この本棚は存在しないかアクセスできません"
@@ -1095,185 +1100,180 @@ msgstr "アップデートが利用可能です。下のボタンをクリック
msgid "No release information available"
msgstr "リリース情報がありません"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "本を見つける (ランダムで表示)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "シリーズ: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "カテゴリ: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "言語: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "詳細検索"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "検索"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr ""
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr ""
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "タスク"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "これ以降に出版 "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "これ以前に出版 "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "評価 <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "評価 >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "本の %(kindlemail)s への送信がキューに追加されました"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "%(res)s を送信中にエラーが発生しました"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "初めにKindleのメールアドレスを設定してください"
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "登録"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "このメールアドレスは登録が許可されていません"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "確認メールがこのメールアドレスに送信されました。"
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "ユーザ名またはパスワードが違います"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s のプロフィール"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "プロフィールを更新しました"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "本を読む"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1538,7 +1538,7 @@ msgstr ""
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1687,12 +1687,12 @@ msgid "Published Date"
msgstr ""
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "出版社"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "言語"
@@ -1722,7 +1722,7 @@ msgstr ""
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2187,35 +2187,35 @@ msgstr ""
msgid "Default Settings for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr ""
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "ダウンロードを許可"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "アップロードを許可"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "編集を許可"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "パスワード変更を許可"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "みんなの本棚の編集を許可"
@@ -2223,12 +2223,12 @@ msgstr "みんなの本棚の編集を許可"
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2245,56 +2245,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "本"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "の"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "未読に設定"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "既読に設定"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "読んだ"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "詳細:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "本棚に追加"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr ""
@@ -2645,10 +2642,18 @@ msgstr "本"
msgid "Calibre-Web eBook Catalog"
msgstr ""
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr ""
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr ""
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr ""
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "キーボードショートカット"
@@ -2765,12 +2770,17 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr ""
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr ""
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
+#, fuzzy
+msgid "txt Reader"
msgstr "テキストリーダ"
#: cps/templates/register.html:4
@@ -2998,15 +3008,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr ""
@@ -3098,7 +3108,7 @@ msgid "Edit Public Shelves"
msgstr "本棚を編集する"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo
index b63ecb2f..52eec6ae 100644
Binary files a/cps/translations/km/LC_MESSAGES/messages.mo and b/cps/translations/km/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po
index d7ace392..187ad616 100644
--- a/cps/translations/km/LC_MESSAGES/messages.po
+++ b/cps/translations/km/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
"Last-Translator: \n"
"Language: km_KH\n"
@@ -31,432 +31,432 @@ msgstr "មិនបានតម្លើង"
msgid "Statistics"
msgstr "ស្ថិតិ"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "ម៉ាស៊ីន server បានដំណើរការម្តងទៀត សូមបើកទំព័រជាថ្មី"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "កំពុងបិទម៉ាស៊ីន server សូមបិទផ្ទាំងនេះ"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "មិនដឹង"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "ទំព័ររដ្ឋបាល"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "ការកំណត់សាមញ្ញ"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr ""
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "បង្ហាញទាំងអស់"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "ការកំណត់មុខងារ"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "សូមបំពេញចន្លោះទាំងអស់!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "ប្តូរការកំណត់ SMTP"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន"
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr ""
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -468,7 +468,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -481,8 +481,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -519,7 +519,7 @@ msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុ
msgid "Failed to store file %(file)s."
msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។"
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -652,68 +652,68 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -754,7 +754,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’"
@@ -820,7 +820,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "ចូលប្រើប្រាស់"
@@ -836,7 +836,7 @@ msgstr "វត្ថុតាងហួសពេលកំណត់"
msgid "Success! Please return to your device"
msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr ""
@@ -861,7 +861,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "សៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
@@ -870,7 +870,7 @@ msgid "Show Top Rated Books"
msgstr "បង្ហាញសៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "សៀវភៅដែលបានអានរួច"
@@ -879,7 +879,7 @@ msgid "Show read and unread"
msgstr "បង្ហាញអានរួច និងមិនទាន់អាន"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "សៀវភៅដែលមិនទាន់បានអាន"
@@ -897,7 +897,7 @@ msgid "Show Random Books"
msgstr "បង្ហាញសៀវភៅចៃដន្យ"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "ប្រភេទនានា"
@@ -907,7 +907,7 @@ msgstr "បង្ហាញជម្រើសប្រភេទ"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "ស៊េរី"
@@ -925,7 +925,7 @@ msgid "Show author selection"
msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr ""
@@ -935,7 +935,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "ភាសានានា"
@@ -959,7 +959,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -967,7 +967,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -975,98 +975,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr ""
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
-msgstr ""
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
+msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr ""
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "សៀវភៅត្រូវបានបន្ថែមទៅធ្នើ៖ %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ៖ %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "បង្កើតធ្នើ"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "កែប្រែធ្នើ"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានបង្កើត"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានប្តូរ"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "មានបញ្ហា"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "ប្តូរលំដាប់ធ្នើ៖ ‘%(name)s’"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "ធ្នើ៖ ‘%(name)s’"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "មានបញ្ហាពេលបើកធ្នើ។ ពុំមានធ្នើ ឬមិនអាចបើកបាន"
@@ -1099,185 +1104,180 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "ស៊េរី៖ %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "ប្រភេទ៖ %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "ភាសា៖ %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "ស្វែងរកកម្រិតខ្ពស់"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "ស្វែងរក"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "ឯកសារ DLS"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr ""
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "កិច្ចការនានា"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "បានបោះពុម្ភក្រោយ "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "បានបោះពុម្ភមុន "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "ការវាយតម្លៃ <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "ការវាយតម្លៃ >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "ចុះឈ្មោះ"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "អានសៀវភៅ"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1542,7 +1542,7 @@ msgstr "បាទ/ចាស"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1691,12 +1691,12 @@ msgid "Published Date"
msgstr "ថ្ងៃបោះពុម្ភ"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "អ្នកបោះពុម្ភ"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "ភាសា"
@@ -1726,7 +1726,7 @@ msgstr "មើលទិន្នន័យមេតា"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2191,35 +2191,35 @@ msgstr "Regular expression ដើម្បីរៀបចំណងជើងត
msgid "Default Settings for New Users"
msgstr "ការកំណត់មកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "អនុញ្ញាតឲទាញយក"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "អនុញ្ញាតឲអាប់ឡូត"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "អនុញ្ញាតឲកែប្រែ"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "អនុញ្ញាតឲលុបសៀវភៅ"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "អនុញ្ញាតឲប្តូរលេខសម្ងាត់"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "អនុញ្ញាតឲកែប្រែធ្នើសាធារណៈ"
@@ -2227,12 +2227,12 @@ msgstr "អនុញ្ញាតឲកែប្រែធ្នើសាធារ
msgid "Default Visibilities for New Users"
msgstr "ភាពមើលឃើញដែលមកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "បង្ហាញសៀវភៅចៃដន្យក្នុងការបង្ហាញជាពិស្តារ"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2249,56 +2249,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "សៀវភៅ"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "នៃ"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr ""
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "អាន"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "ពិពណ៌នា"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "បន្ថែមទៅធ្នើ"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "កែប្រែទិន្នន័យមេតា"
@@ -2649,10 +2646,18 @@ msgstr "សៀវភៅ"
msgid "Calibre-Web eBook Catalog"
msgstr ""
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr ""
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "សេរេអត្ថបទនៅពេលបើកផ្ទាំងចំហៀង។"
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr ""
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr ""
@@ -2769,12 +2774,17 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr ""
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr ""
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
+#, fuzzy
+msgid "txt Reader"
msgstr "កម្មវិធីមើល txt សាមញ្ញ"
#: cps/templates/register.html:4
@@ -3002,15 +3012,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "លុបអ្នកប្រើប្រាស់នេះ"
@@ -3101,7 +3111,7 @@ msgid "Edit Public Shelves"
msgstr "កែប្រែធ្នើ"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo
index 27aa7320..b697a259 100644
Binary files a/cps/translations/nl/LC_MESSAGES/messages.mo and b/cps/translations/nl/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po
index 6b2a2a9c..298324b1 100644
--- a/cps/translations/nl/LC_MESSAGES/messages.po
+++ b/cps/translations/nl/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web (GPLV3)\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-12-12 08:20+0100\n"
"Last-Translator: Marcel Maas \n"
"Language: nl\n"
@@ -31,434 +31,434 @@ msgstr "niet geïnstalleerd"
msgid "Statistics"
msgstr "Statistieken"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "De server is herstart, vernieuw de pagina"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Bezig met afsluiten van de server, sluit het venster"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Opnieuw verbinden gelukt"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Onbekende opdracht"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Onbekend"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Systeembeheer"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Basis configuratie"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Uiterlijk aanpassen"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Systeembeheerder"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Alles"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Gebruiker niet gevonden"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} gebruikers succesvol verwijderd"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Alle talen"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Misvormd verzoek"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Gast naam kan niet worden veranderd"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "Gast kan deze rol niet hebben"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Waarde moet Waar of Onwaar zijn"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Ongeldige rol"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "Gast kan dit niet bekijken"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Ongeldige waarde"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Gast's locatie is automatisch bepaald en kan niet handmatig worden ingesteld"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Geen geldige locatie is opgegeven"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Geen geldige boek taal is opgegeven"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Parameter is niet gevonden"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr "Ongeldig gelezen kolom"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr "Ongeldig beperkt kolom"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web-configuratie bijgewerkt"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Wil je werkelijk je Kobo Token verwijderen?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Wil je dit domein echt verwijderen?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Wil je deze gebruiker echt verwijderen?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Weet je zeker dat je de zichtbaarheidstalen wil veranderen voor de geselecteerde gebruiker(s)?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Weet je zeker dat je de geselecteerde rol wil veranderen voor de geselecteerde gebruiker(s)?"
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Weet je zeker dat je de geselecteerde zichtbaarheidsbeperkingen wilt verwijderen"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Weet je zeker dat je de geselecteerde rol wil veranderen voor de geselecteerde gebruiker(s)?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Weet je zeker dat je Calibre-Web wilt stoppen?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Tag niet gevonden"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Ongeldige actie"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Weigeren"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Toestaan"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json is niet geconfigureerd voor webapplicatie"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "De locatie van het logbestand is onjuist, voer een geldige locatie in"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "De locatie vam het toegangslog is onjuist, voer een geldige locatie in"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Voer alsjeblieft een LDAP leverancier, Port, DN en User Object Identifier in"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Groep Object Filter Moet Een \"%s\" Formaat Identificiatie hebben"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Groep Object Filter Heeft Een Ongelijk Haakje"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Gebruiker Object Filter moet \"%s\" Formaat Identificatie hebben"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP Gebruiker Filter heeft een ongelijk haakje"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP Lid Gebruiker Filter moet een \"%s\" Formaat Identificatie hebben"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "LDAP Lid Gebruiker Filter heeft een ongelijk haakje"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CACertficaat, Certificaat of Sleutel Locatie is ongeldig. Voer alsjeblieft een geldig pad in."
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Instellingen niet opgeslagen"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Database niet gevonden, voer de juiste locatie in"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Kan niet schrijven naar database"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-sleutellocatie is niet geldig, voer een geldige locatie in"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "SSL-certificaatlocatie is niet geldig, voer een geldige locatie in"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Geavanceerde opties"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Vul alle velden in!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "Het e-mailadres bevat geen geldige domeinnaam"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Gebruiker toevoegen"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Gebruiker '%(user)s' aangemaakt"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Bestaand account met dit e-mailadres of deze gebruikersnaam aangetroffen."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Gebruiker '%(nick)s' verwijderd"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "Kan Gast gebruiker niet verwijderen"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Kan laatste systeembeheerder niet verwijderen"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Gebruiker '%(nick)s' bewerken"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Gebruiker '%(nick)s' bijgewerkt"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Onbekende fout opgetreden. Probeer het later nog eens."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "SMTP-instellingen bewerken"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account succesvol geverifieerd"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Test E-Mail wordt verzonden naar %(email)s, controleer de taken voor het resultaat"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Fout opgetreden bij het versturen van de test-e-mail: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Gelieve eerst je e-mail adres configureren..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "E-mailserver-instellingen bijgewerkt"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Wachtwoord voor gebruiker %(user)s is hersteld"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Stel eerst SMTP-mail in..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Logbestand lezer"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Update opvragen"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Update downloaden"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Update uitpakken"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Update toepassen"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Databaseverbindingen zijn gesloten"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Bezig met stoppen van Calibre-Web"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Update mislukt:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP-fout"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Verbindingsfout"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Time-out tijdens maken van verbinding"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Algemene fout"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Geüpload bestand kon niet opgeslagen worden in de tijdelijke map"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Mislukt om minstens een LDAP gebruiker aan te maken"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fout: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Fout: No user returned in response of LDAP server"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minstens een LDAP Gebruiker is niet gevonden in de Database"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} Gebruiker succesvol geïmporteerd"
@@ -470,7 +470,7 @@ msgstr "niet geconfigureerd"
msgid "Execution permissions missing"
msgstr "Kan programma niet uitvoeren"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Aangepaste kolom Nr.%(column)d bestaat niet in de Calibre Database"
@@ -483,8 +483,8 @@ msgstr "Het boekformaat is verwijderd"
msgid "Book Successfully Deleted"
msgstr "Het boek is verwijderd"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oeps! Geselecteerd boek is niet beschikbaar. Bestand bestaat niet of is niet toegankelijk"
@@ -521,7 +521,7 @@ msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)."
msgid "Failed to store file %(file)s."
msgstr "Kan %(file)s niet opslaan."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Database fout: %(error)s."
@@ -654,69 +654,69 @@ msgstr "Het verwijderen van de boekenmap voor boek %(id)s is mislukt, het pad he
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Verwijderen van boek %(id)s mislukt: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Verwijderen van boek %(id)s, boek pad is ongeldig: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kan de naam '%(src)s' niet wijzigen in '%(dest)s': %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kan het bestand in '%(src)s' niet wijzigen naar '%(dest)s': %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bestaand account met dit e-mailadres aangetroffen."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Deze gebruikersnaam is al in gebruik"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Ongeldig E-Mail adres"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Fout bij downloaden omslag"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Onjuist omslag formaat"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Locatie aanmaken voor omslag mislukt"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Omslag-bestand is geen afbeelding of kon niet opgeslagen worden"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Alleen jpg/jpeg/png/webp/bmp bestanden worden ondersteund als voorblad"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Unrar executable niet gevonden"
@@ -757,7 +757,7 @@ msgstr "Kobo Instellen"
msgid "Register with %(provider)s"
msgstr "Aanmelden bij %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "je bent ingelogd als: '%(nickname)s'"
@@ -823,7 +823,7 @@ msgid "{} Stars"
msgstr "{} sterren"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Inloggen"
@@ -839,7 +839,7 @@ msgstr "Toegangssleutel is verlopen"
msgid "Success! Please return to your device"
msgstr "Gelukt! Ga terug naar je apparaat"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Boeken"
@@ -864,7 +864,7 @@ msgstr "Gedownloade boeken"
msgid "Show Downloaded Books"
msgstr "Gedownloade boeken tonen"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Best beoordeelde boeken"
@@ -873,7 +873,7 @@ msgid "Show Top Rated Books"
msgstr "Best beoordeelde boeken tonen"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Gelezen boeken"
@@ -882,7 +882,7 @@ msgid "Show read and unread"
msgstr "Gelezen/Ongelezen boeken tonen"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Ongelezen boeken"
@@ -900,7 +900,7 @@ msgid "Show Random Books"
msgstr "Willekeurige boeken tonen"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Categorieën"
@@ -910,7 +910,7 @@ msgstr "Categoriekeuze tonen"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Boekenreeksen"
@@ -928,7 +928,7 @@ msgid "Show author selection"
msgstr "Auteurkeuze tonen"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Uitgevers"
@@ -938,7 +938,7 @@ msgstr "Uitgeverskeuze tonen"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Talen"
@@ -962,7 +962,7 @@ msgstr "Bestandsformaten"
msgid "Show file formats selection"
msgstr "Bestandsformaten tonen"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Gearchiveerde boeken"
@@ -970,7 +970,7 @@ msgstr "Gearchiveerde boeken"
msgid "Show archived books"
msgstr "Gearchiveerde boeken tonen"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Boekenlijst"
@@ -978,98 +978,103 @@ msgstr "Boekenlijst"
msgid "Show Books List"
msgstr "Boekenlijst tonen"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Ongeldige boekenplank opgegeven"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Sorry, je mag geen boeken toevoegen aan boekenplank: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Dit boek maakt al deel uit van boekenplank: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Het boek is toegevoegd aan boekenplank: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Je bent niet gemachtigd om boeken toe te voegen aan boekenplank: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Deze boeken maken al deel uit van boekenplank: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "De boeken zijn toegevoegd aan boekenplank: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Kan boeken niet toevoegen aan boekenplank: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Het boek is verwijderd van boekenplank: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Je bent niet gemachtigd om boeken te verwijderen van boekenplank: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Boekenplank maken"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Je bent niet gemachtigd om boeken te verwijderen van boekenplank: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Pas een boekenplank aan"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Boekenplank '%(title)s' aangemaakt"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Boekenplank '%(title)s' is aangepast"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Er is een fout opgetreden"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Een openbare boekenplank met de naam '%(title)s' bestaat al."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Een persoonlijke boekenplank met de naam '%(title)s' bestaat al."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Volgorde bewerken van boekenplank: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Boekenplank: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Kan boekenplank niet openen: de boekenplank bestaat niet of is ontoegankelijk"
@@ -1102,185 +1107,180 @@ msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten na
msgid "No release information available"
msgstr "Geen update-informatie beschikbaar"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Verkennen (willekeurige boeken)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Populaire boeken (meest gedownload)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Gedownloade boeken door %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Uitgever: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Reeks: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Beoordeling: %(rating)s sterren"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Bestandsformaat: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Categorie: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Taal: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Geavanceerd zoeken"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Zoeken"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Beoordelingen"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Alle bestandsformaten"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Taken"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Gepubliceerd na "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Gepubliceerd vóór "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Beoordeling <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Beoordeling >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lees Status = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Het boek is in de wachtrij geplaatst om te worden verstuurd aan %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Fout opgetreden bij het versturen van dit boek: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Stel je kindle-e-mailadres in..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-mailserver is niet geconfigureerd, neem contact op met de beheerder!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registreren"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Er is een bevestigings-e-mail verstuurd naar je e-mailadres."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Kan de LDAP authenticatie niet activeren"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Terugvallen op login: '%(nickname)s', LDAP Server is onbereikbaar, of de gebruiker is onbekend"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Inloggen mislukt: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Verkeerde gebruikersnaam of wachtwoord"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Je bent ingelogd als: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's profiel"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profiel bijgewerkt"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Lees een boek"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Geen geldig gmail.json bestand gevonden met OAuth informatie"
@@ -1545,7 +1545,7 @@ msgstr "Oké"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Annuleren"
@@ -1694,12 +1694,12 @@ msgid "Published Date"
msgstr "Publicatiedatum"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Uitgever"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Taal"
@@ -1729,7 +1729,7 @@ msgstr "Metagegevens ophalen"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Opslaan"
@@ -2195,35 +2195,35 @@ msgstr "Reguliere expressie voor het sorteren op titel"
msgid "Default Settings for New Users"
msgstr "Standaardinstellingen voor nieuwe gebruikers"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Systeembeheerder"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Downloads toestaan"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Boeken lezen toestaan"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Uploads toestaan"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Bewerken toestaan"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Verwijderen van boeken toestaan"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Wachtwoord wijzigen toestaan"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Bewerken van openbare boekenplanken toestaan"
@@ -2231,12 +2231,12 @@ msgstr "Bewerken van openbare boekenplanken toestaan"
msgid "Default Visibilities for New Users"
msgstr "Standaard zichtbaar voor nieuwe gebruikers"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Willekeurige boeken tonen in gedetailleerde weergave"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Voeg toegestane/geweigerde tags toe"
@@ -2253,56 +2253,53 @@ msgid "Listen in Browser"
msgstr "Luisteren in webbrowser"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Boek"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "van"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Gepubliceerd"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Markeren als ongelezen"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Markeren als gelezen"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Gelezen"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Terughalen uit archief"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Toevoegen aan archief"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Gearchiveerd"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Beschrijving:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Toevoegen aan boekenplank"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Openbaar)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Metagegevens bewerken"
@@ -2654,10 +2651,20 @@ msgstr "Boek"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web - e-boekcatalogus"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF lezer"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Tekstindeling automatisch aanpassen als het zijpaneel geopend is."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF lezer"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Sneltoetsen"
@@ -2774,13 +2781,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF lezer"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF lezer"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Basis tekstlezer"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF lezer"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3007,15 +3021,15 @@ msgstr "Kobo Sync Token"
msgid "Create/View"
msgstr "Aanmaken/Bekijk"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolom waarden toe"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Deze gebruiker verwijderen"
@@ -3114,7 +3128,7 @@ msgid "Edit Public Shelves"
msgstr "Openbare boekenplank"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo
index 01be5204..636a9a13 100644
Binary files a/cps/translations/pl/LC_MESSAGES/messages.mo and b/cps/translations/pl/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po
index f2f17706..9f372d1c 100644
--- a/cps/translations/pl/LC_MESSAGES/messages.po
+++ b/cps/translations/pl/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre Web - polski (POT: 2021-06-12 08:52)\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2021-06-12 15:35+0200\n"
"Last-Translator: Radosław Kierznowski \n"
"Language: pl\n"
@@ -31,434 +31,434 @@ msgstr "nie zainstalowane"
msgid "Statistics"
msgstr "Statystyki"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Ponowne połączenie zakończono sukcesem"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Nieznane polecenie"
# ???
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Nieznany"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Panel administratora"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Konfiguracja podstawowa"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Konfiguracja Interfejsu"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr "Edytuj użytkowników"
# ???
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Wszystko"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Nie znaleziono użytkownika"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} użytkowników usuniętych pomyślnie"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Pokaż wszystkie"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Nieprawidłowo sformułowane żądanie"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Nazwa gościa nie może być zmieniona"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "Gość nie może pełnić tej roli"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Nie można odebrać praw administratora. Brak na serwerze innego konta z prawami administratora"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Wartość musi być prawdziwa lub fałszywa"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Nieprawidłowa rola"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "Gość nie może tego zobaczyć"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Nieprawidłowy widok"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Lokalizacja gościa jest określana automatycznie i nie można jej ustawić"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Nie podano prawidłowej lokalizacji"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Nie podano obowiązującego języka książki"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Nie znaleziono parametru"
-#: cps/admin.py:531
+#: cps/admin.py:534
#, fuzzy
msgid "Invalid Read Column"
msgstr "Nieprawidłowa kolumna odczytu"
-#: cps/admin.py:537
+#: cps/admin.py:540
#, fuzzy
msgid "Invalid Restricted Column"
msgstr "Nieprawidłowa kolumna z ograniczeniami"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Konfiguracja Calibre-Web została zaktualizowana"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Czy na pewno chcesz usunąć Token Kobo?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Czy naprawdę chcesz usunąć tę domenę?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Czy naprawdę chcesz usunąć tego użytkownika?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Czy na pewno chcesz usunąć półkę?"
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Czy na pewno chcesz zmienić ustawienia lokalne wybranego użytkownika(ów)?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Czy na pewno chcesz zmienić widoczne języki książek dla wybranego użytkownika (użytkowników)?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Czy na pewno chcesz zmienić wybraną rolę dla wybranego użytkownika (użytkowników)?"
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia dla wybranego użytkownika(ów)?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia widoczności dla wybranego użytkownika(ów)?"
-#: cps/admin.py:586
+#: cps/admin.py:589
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Czy na pewno chcesz zmienić zachowanie synchronizacji półek dla wybranego użytkownika(ów)?"
-#: cps/admin.py:588
+#: cps/admin.py:591
msgid "Are you sure you want to change Calibre library location?"
msgstr "Czy na pewno chcesz zmienić lokalizację biblioteki Calibre?"
-#: cps/admin.py:737
+#: cps/admin.py:740
#, fuzzy
msgid "Tag not found"
msgstr "Nie znaleziono znacznika"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Nieprawidłowe działanie"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Zabroń"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Zezwalaj"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json nie został skonfigurowany dla aplikacji webowej"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku dziennika jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku dziennika dostępu jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Wprowadź dostawcę LDAP, port, nazwę wyróżniającą i identyfikator obiektu użytkownika"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Proszę wprowadzić konto i hasło usługi LDAP"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr "Proszę wprowadzić konto usługi LDAP"
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Filtr obiektów grupy LDAP musi mieć jeden identyfikator formatu \"% s\""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów grupy LDAP ma niedopasowany nawias"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Filtr obiektów użytkownika LDAP musi mieć jeden identyfikator formatu \"% s\""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtr obiektów użytkownika LDAP ma niedopasowany nawias"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "Filtr użytkownika członka LDAP musi mieć jedno \"%s\" identyfikator formatu"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Filtr użytkownika członka LDAP ma niedopasowane nawiasy"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "Główny urząd certyfikatu LDAP, Certyfikat lub Lokalizacja Klucza nie jest prawidłowa, Proszę wprowadzić poprawną ścieżkę"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Ustawienia Bazy Danych nie są zapisywalne"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "Baza danych nie jest zapisywalna"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
msgid "Database Configuration"
msgstr "Konfiguracja bazy danych"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-mail nie pochodzi z prawidłowej domeny"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
#, fuzzy
msgid "Can't delete Guest User"
msgstr "Nie można usunąć użytkownika gościa"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Nie można usunąć użytkownika. Brak na serwerze innego konta z prawami administratora"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Zmień ustawienia SMTP"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr "Weryfikacja konta Gmail przebiegła pomyślnie"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, fuzzy, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Testowy e-mail czeka w kolejce do wysłania do %(email)s, sprawdź zadania, aby uzyskać wynik"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Wystąpił błąd podczas wysyłania e-maila testowego: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Najpierw skonfiguruj swój adres e-mail..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
# ???
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Zrestartowano hasło użytkownika %(user)s"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Przeglądanie dziennika"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Żądanie o pakiet aktualizacji"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Pobieranie pakietu aktualizacji"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Rozpakowywanie pakietu aktualizacji"
# ???
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Zastępowanie plików"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Połączenia z bazą danych zostały zakończone"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Zatrzymywanie serwera"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Aktualizacja nieudana:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Błąd HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Błąd połączenia"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Przekroczono limit czasu podczas nawiązywania połączenia"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Błąd ogólny"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Plik aktualizacji nie mógł zostać zapisany w katalogu tymczasowym"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Błąd: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Przynajmniej jeden użytkownik LDAP nie został znaleziony w bazie danych"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} Użytkownik pomyślnie zaimportowany"
@@ -470,7 +470,7 @@ msgstr "nie skonfigurowane"
msgid "Execution permissions missing"
msgstr "Brak uprawnienia do wykonywania pliku"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Niestandardowa kolumna No.%(column)d nie istnieje w bazie calibre"
@@ -483,8 +483,8 @@ msgstr "Plik książki w wybranym formacie został usunięty"
msgid "Book Successfully Deleted"
msgstr "Książka została usunięta"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Błąd otwierania e-booka. Plik nie istnieje lub jest niedostępny"
@@ -521,7 +521,7 @@ msgstr "Nie udało się utworzyć łącza %(path)s (Odmowa dostępu)."
msgid "Failed to store file %(file)s."
msgstr "Nie można zapisać pliku %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Błąd bazy danych: %(error)s."
@@ -656,68 +656,68 @@ msgstr "Usuwanie folderu książki dla książki %(id)s nie powiodło się, ści
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Usuwanie książki %(id)s zakończyło się błędem: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Usuwanie książki %(id)s, ścieżka książki jest niepoprawna: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Zmiana nazwy pliku w ścieżce '%(src)s' na '%(dest)s' zakończyło się błędem: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Nie znaleziono pliku %(file)s na Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Nie znaleziono ścieżki do książki %(path)s na Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr "Znaleziono istniejące konto dla tego adresu e-mail"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Nazwa użytkownika jest już zajęta"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Nieprawidłowy format adresu e-mail"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Błąd przy pobieraniu okładki"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Błędny format okładki"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Nie udało się utworzyć ścieżki dla okładki"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Plik okładki nie jest poprawnym plikiem obrazu lub nie mógł zostać zapisany"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Jako plik okładki obsługiwane są tylko pliki jpg/jpeg/png/webp/bmp"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Plik wykonywalny programu unrar nie znaleziony"
@@ -759,7 +759,7 @@ msgstr "Konfiguracja Kobo"
msgid "Register with %(provider)s"
msgstr "Zarejestruj się %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "zalogowałeś się jako: '%(nickname)s'"
@@ -825,7 +825,7 @@ msgid "{} Stars"
msgstr "{} Gwiazdek"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Zaloguj się"
@@ -841,7 +841,7 @@ msgstr "Token wygasł"
msgid "Success! Please return to your device"
msgstr "Powodzenie! Wróć do swojego urządzenia"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Książki"
@@ -866,7 +866,7 @@ msgstr "Pobrane książki"
msgid "Show Downloaded Books"
msgstr "Pokaż pobrane książki"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Najwyżej ocenione"
@@ -875,7 +875,7 @@ msgid "Show Top Rated Books"
msgstr "Pokaż menu najwyżej ocenionych książek"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Przeczytane"
@@ -884,7 +884,7 @@ msgid "Show read and unread"
msgstr "Pokaż menu przeczytane i nieprzeczytane"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Nieprzeczytane"
@@ -902,7 +902,7 @@ msgid "Show Random Books"
msgstr "Pokazuj losowe książki"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategorie"
@@ -912,7 +912,7 @@ msgstr "Pokaż menu wyboru kategorii"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Cykle"
@@ -930,7 +930,7 @@ msgid "Show author selection"
msgstr "Pokaż menu wyboru autora"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Wydawcy"
@@ -940,7 +940,7 @@ msgstr "Pokaż menu wyboru wydawcy"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Języki"
@@ -964,7 +964,7 @@ msgstr "Formaty plików"
msgid "Show file formats selection"
msgstr "Pokaż menu formatu plików"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Zarchiwizowane książki"
@@ -972,7 +972,7 @@ msgstr "Zarchiwizowane książki"
msgid "Show archived books"
msgstr "Pokaż zarchiwizowane książki"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Lista książek"
@@ -980,98 +980,103 @@ msgstr "Lista książek"
msgid "Show Books List"
msgstr "Pokaż listę książek"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Podano niewłaściwą półkę"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Niestety, nie posiadasz uprawnień do dodania książki do półki: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Książka jest już dodana do półki: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Książka została dodana do półki: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Nie masz uprawnień do dodania ksiażki do półki: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Książki są już dodane do półki: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Książki zostały dodane do półki %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Nie można dodać książek do półki: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Książka została usunięta z półki: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Niestety nie możesz usunąć książki z tej półki %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Utwórz półkę"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Niestety nie możesz usunąć książki z tej półki %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Edytuj półkę"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Półka %(title)s została utworzona"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Półka %(title)s została zmieniona"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Wystąpił błąd"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Publiczna półka o nazwie '%(title)s' już istnieje."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Prywatna półka o nazwie '%(title)s' już istnieje."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Zmieniono kolejność półki: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Półka: „%(name)s”"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Błąd otwierania półki. Półka nie istnieje lub jest niedostępna"
@@ -1104,186 +1109,181 @@ msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktual
msgid "No release information available"
msgstr "Brak dostępnych informacji o wersji"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Odkrywaj (losowe książki)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Książki pobrane przez %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Wydawca: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Cykl: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Ocena: %(rating)s gwiazdek"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Format pliku: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Język: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Wyszukiwanie"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Szukaj"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Lista z ocenami"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Lista formatów"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Zadania"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Opublikowane po "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Opublikowane przed "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Ocena <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Ocena >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status przeczytania = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
#, fuzzy
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Błąd podczas wyszukiwania kolumn niestandardowych, proszę zrestartować Calibre-Web"
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Książka została umieszczona w kolejce do wysłania do %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! 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:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Najpierw skonfiguruj adres e-mail Kindle..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Serwer e-mail nie jest skonfigurowany, skontaktuj się z administratorem!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Zarejestruj się"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Twój e-mail nie może się zarejestrować"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Wiadomość e-mail z potwierdzeniem została wysłana na Twoje konto e-mail."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Nie można aktywować uwierzytelniania LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nie można zalogować: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Błędna nazwa użytkownika lub hasło"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Nowe hasło zostało wysłane na Twój adres e-mail"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Zaktualizowano profil"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Czytaj książkę"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Nie znaleziono poprawnego pliku gmail.json z informacjami OAuth"
@@ -1550,7 +1550,7 @@ msgstr "OK"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Anuluj"
@@ -1700,12 +1700,12 @@ msgid "Published Date"
msgstr "Data publikacji"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Wydawca"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Język"
@@ -1735,7 +1735,7 @@ msgstr "Uzyskaj metadane"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Zapisz"
@@ -2206,35 +2206,35 @@ msgstr "Wyrażenie regularne dla tytułu sortującego"
msgid "Default Settings for New Users"
msgstr "Domyślne ustawienia dla nowych użytkowników"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Użytkownik z uprawnieniami administratora"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Zezwalaj na pobieranie"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Zezwalaj na przeglądanie e-booków"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Zezwalaj na wysyłanie"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Zezwalaj na edycję"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Zezwalaj na usuwanie książek"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Zezwalaj na zmianę hasła"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Zezwalaj na edycję półek publicznych"
@@ -2242,12 +2242,12 @@ msgstr "Zezwalaj na edycję półek publicznych"
msgid "Default Visibilities for New Users"
msgstr "Domyślne ustawienia widoku dla nowych użytkowników"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Pokaz losowe książki w widoku szczegółowym"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Dodaj dozwolone/zabronione etykiety"
@@ -2264,56 +2264,53 @@ msgid "Listen in Browser"
msgstr "Słuchaj w przeglądarce"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Książka (tom)"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "w cyklu"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Data publikacji"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Oznacz jako nieprzeczytane"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Oznacz jako przeczytane"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Przeczytana"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Przywróć z archiwum"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Dodaj do archiwum"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Zarchiwizowane"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Opis:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Dodaj do półki"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(publiczna)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Edytuj metadane"
@@ -2669,10 +2666,20 @@ msgstr "OK"
msgid "Calibre-Web eBook Catalog"
msgstr "Katalog e-booków Calibre-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "Czytnik PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Przepływ tekstu, gdy paski boczne są otwarte."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Czytnik PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Skróty klawiaturowe"
@@ -2789,13 +2796,20 @@ msgstr "Pokaż"
msgid "Hide"
msgstr "Ukryj"
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "Czytnik PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "Czytnik PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Podstawowy czytnik txt"
+#, fuzzy
+msgid "txt Reader"
+msgstr "Czytnik PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3023,15 +3037,15 @@ msgstr "Token Kobo Sync"
msgid "Create/View"
msgstr "Utwórz/Przeglądaj"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr "Synchronizuj z Kobo tylko książki z wybranych półek"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Usuń tego użytkownika"
@@ -3118,7 +3132,8 @@ msgid "Edit Public Shelves"
msgstr "Edytuj półki publiczne"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+#, fuzzy
+msgid "Sync selected Shelves with Kobo"
msgstr "Zsynchronizuj wybrane półki z Kobo"
#: cps/templates/user_table.html:154
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo
index ce1b66c9..81a2ceca 100644
Binary files a/cps/translations/pt_BR/LC_MESSAGES/messages.mo and b/cps/translations/pt_BR/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.po b/cps/translations/pt_BR/LC_MESSAGES/messages.po
index f5a83bbe..2479c7f1 100644
--- a/cps/translations/pt_BR/LC_MESSAGES/messages.po
+++ b/cps/translations/pt_BR/LC_MESSAGES/messages.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language: br\n"
@@ -27,435 +27,435 @@ msgstr "não instalado"
msgid "Statistics"
msgstr "Estatística"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Servidor reiniciado, por favor recarregue a página"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Executando o desligamento do servidor, por favor, feche a janela"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Reconexão bem-sucedida"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Comando desconhecido"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Desconhecido"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Página de administração"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Configuração Básica"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Configuração de UI"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Usuário Admin"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Todos"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Usuário não encontrado"
-#: cps/admin.py:351
+#: cps/admin.py:354
#, fuzzy
msgid "{} users deleted successfully"
msgstr "{} Usuário Importado com Sucesso"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Mostrar tudo"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Nenhum usuário administrador restante, não pode remover a função de administrador"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Configuração do Calibre-Web atualizada"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Você realmente quer excluir o Kobo Token?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Você realmente quer excluir este domínio?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Você realmente quer excluir este usuário?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Tem certeza que quer apagar essa estante?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Tens a certeza que queres fechar?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Negar"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Permita"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json não está configurado para aplicativo da web"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de log não é válida, digite o caminho correto"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de log de acesso não é válida, digite o caminho correto"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Digite um provedor LDAP, porta, DN e identificador de objeto do usuário"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Por favor, digite um nome de usuário válido para redefinir a senha"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de objeto de grupo LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de grupo LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de objeto de usuário LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Filtro de objeto de usuário LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "O filtro de usuário membro do LDAP precisa ter um identificador de formato \"%s\""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CACertificate, Certificados ou chave de localização não é válida, Insira o caminho correto"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "O banco de dados de configurações não é gravável"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "A localização do banco de dados não é válida, digite o caminho correto"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "DB não é gravável"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo-chave não é válida, por favor insira o caminho correto"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "A localização do arquivo de certificação não é válida, digite o caminho correto"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Configuração das Características"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Por favor, preencha todos os campos!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "O e-mail não é de um domínio válido"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Adicionar novo usuário"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuário '%(user)s' criado"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Encontrei uma conta existente para este endereço de e-mail ou apelido."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuário '%(nick)s' excluído"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Nenhum usuário administrador restante, não é possível excluir o usuário"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar usuário %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuário '%(nick)s' atualizado"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Editar configurações do servidor de e-mail"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Ocorreu um erro ao enviar o e-mail de teste: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure seu endereço de e-mail primeiro..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Atualização das configurações do servidor de e-mail"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Senha para redefinição do usuário %(user)s"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Por favor, configure primeiro as configurações de correio SMTP..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "visualizador de arquivo de registro"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Solicitação de pacote de atualização"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Download do pacote de atualização"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Descompactação de pacote de atualização"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Substituição de arquivos"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "As ligações à base de dados estão fechadas"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Parar servidor"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Atualização concluída, pressione okay e recarregue a página"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Atualização falhou:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Erro HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Erro de conexão"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Tempo limite durante o estabelecimento da conexão"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Erro geral"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Arquivo de atualização não pôde ser salvo no diretório temporário"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Falha na criação no mínimo de um usuário LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erro: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Erro: Nenhum usuário retornado em resposta do servidor LDAP"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "No mínimo um usuário LDAP não encontrado no banco de dados"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} Usuário Importado com Sucesso"
@@ -467,7 +467,7 @@ msgstr "não configurado"
msgid "Execution permissions missing"
msgstr "Faltam as permissões de execução"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "A coluna personalizada No.%(column)d não existe no banco de dados do calibre"
@@ -480,8 +480,8 @@ msgstr "Formato do Livro Eliminado com Sucesso"
msgid "Book Successfully Deleted"
msgstr "Livro Eliminado com Sucesso"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oops! O título do livro seleccionado não está disponível. O arquivo não existe ou não é acessível"
@@ -518,7 +518,7 @@ msgstr "Falha ao criar o caminho %(path)s (Permission denied)."
msgid "Failed to store file %(file)s."
msgstr "Falha ao armazenar o arquivo %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Erro de banco de dados: %(error)s."
@@ -651,69 +651,69 @@ msgstr "A exclusão da pasta de livros do livro %(id)s falhou, o caminho tem sub
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Falha ao excluir livro %(id)s: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Excluindo livro %(id)s, caminho do livro inválido: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Renomear arquivo no caminho '%(src)s' para '%(dest)s' falhou com o erro: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Arquivo %(file)s não encontrado no Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Caminho do livro %(path)s não encontrado no Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Encontrado uma conta existente para este endereço de e-mail."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Este nome de usuário já está registrado"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Formato de endereço de e-mail inválido"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Erro ao Baixar a capa"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Erro de Formato da Capa"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Falha em criar caminho para a capa"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "O arquivo de capa não é um arquivo de imagem válido, ou não pôde ser armazenado"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Apenas ficheiros jpg/jpeg/png/webp/bmp são suportados como arquivos de capa"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Unrar arquivo binário não encontrado"
@@ -754,7 +754,7 @@ msgstr "Configuração Kobo"
msgid "Register with %(provider)s"
msgstr "Registre-se com %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "agora você está logado como: '%(nickname)s'"
@@ -820,7 +820,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Login"
@@ -836,7 +836,7 @@ msgstr "O Token expirou"
msgid "Success! Please return to your device"
msgstr "Sucesso! Por favor, volte ao seu aparelho"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Livros"
@@ -861,7 +861,7 @@ msgstr "Livros descarregados"
msgid "Show Downloaded Books"
msgstr "Mostrar Livros Descarregados"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Livros Mais Bem Avaliados"
@@ -870,7 +870,7 @@ msgid "Show Top Rated Books"
msgstr "Mostrar os melhores livros avaliados"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Ler Livros"
@@ -879,7 +879,7 @@ msgid "Show read and unread"
msgstr "Mostrar lido e não lido"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Livros Não Lidos"
@@ -897,7 +897,7 @@ msgid "Show Random Books"
msgstr "Mostrar Livros Aleatórios"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Categorias"
@@ -907,7 +907,7 @@ msgstr "Mostrar seleção de categoria"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Série"
@@ -925,7 +925,7 @@ msgid "Show author selection"
msgstr "Mostrar selecção de autor"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Editores"
@@ -935,7 +935,7 @@ msgstr "Mostrar selecção de editores"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Idiomas"
@@ -959,7 +959,7 @@ msgstr "Formatos de arquivo"
msgid "Show file formats selection"
msgstr "Mostrar seleção de formatos de arquivo"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Livros Arquivados"
@@ -967,7 +967,7 @@ msgstr "Livros Arquivados"
msgid "Show archived books"
msgstr "Mostrar livros arquivados"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Lista de Livros"
@@ -975,98 +975,103 @@ msgstr "Lista de Livros"
msgid "Show Books List"
msgstr "Mostrar Lista de Livros"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Estante inválida especificada"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Desculpe, você não tem permissão para adicionar um livro à estante: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "O livro já faz parte da estante: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "O livro foi adicionado à estante: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Você não tem permissão para adicionar um livro à estante: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Os livros já fazem parte da estante: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Livros foram adicionados à estante: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Não foi possível adicionar livros à estante: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "O livro foi removido da estante: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Desculpe, você não tem permissão para remover um livro desta estante: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Crie uma estante"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Desculpe, você não tem permissão para remover um livro desta estante: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Editar uma estante"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estante %(title)s criada"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estante %(title)s alterada"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Houve um erro"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Já existe uma estante pública com o nome '%(title)s' ."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Já existe uma estante privada com o nome'%(title)s' ."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Alterar ordem da Estante: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estante: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Erro ao abrir estante. A estante não existe ou não está acessível"
@@ -1099,185 +1104,180 @@ msgstr "Uma nova atualização está disponível. Clique no botão abaixo para a
msgid "No release information available"
msgstr "Não há informações de lançamento disponíveis"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Descobrir (Livros Aleatórios)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Hot Books (Os Mais Descarregados)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Livros baixados por %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Avaliação: %(rating)s estrelas"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Formato do arquivo: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Pesquisa Avançada"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Pesquisa"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Lista de classificações"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Lista de formatos de arquivo"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Tarefas"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Publicado depois de "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Avaliação <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Avaliação >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status de leitura = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Livro enfileirado com sucesso para envio para %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Ups! Ocorreu um erro ao enviar este livro: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Por favor, atualize seu perfil com um endereço de e-mail válido para Kindle."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "O servidor de E-Mail não está configurado, por favor contacte o seu administrador!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registe-se"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Seu e-mail não tem permissão para registrar"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "O e-mail de confirmação foi enviado para a sua conta de e-mail."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Não é possível ativar a autenticação LDAP"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Login de reserva como:'%(nickname)s', servidor LDAP não acessível ou usuário desconhecido"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Não foi possível fazer o login: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Nome de usuário ou senha incorretos"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Nova senha foi enviada para seu endereço de e-mail"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Por favor, digite um nome de usuário válido para redefinir a senha"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Você agora está logado como: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s's"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Ler um livro"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1542,7 +1542,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Cancelar"
@@ -1691,12 +1691,12 @@ msgid "Published Date"
msgstr "Data de Publicação"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Editora"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Idioma"
@@ -1726,7 +1726,7 @@ msgstr "Buscar Metadados"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Salvar"
@@ -2192,35 +2192,35 @@ msgstr "Expressão regular para classificação de títulos"
msgid "Default Settings for New Users"
msgstr "Configurações padrão para novos usuários"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Usuário Admin"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Permitir Downloads"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Permitir que o eBook Viewer"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Permitir Uploads"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Permitir Editar"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Permitir Livros Excluídos"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Permitir mudança de senha"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Permitir a Edição de Prateleiras Públicas"
@@ -2228,12 +2228,12 @@ msgstr "Permitir a Edição de Prateleiras Públicas"
msgid "Default Visibilities for New Users"
msgstr "Visibilidades por defeito para novos utilizadores"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Mostrar Livros Aleatórios em Vista de Detalhe"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Adicionar Etiquetas permitidas/negadas"
@@ -2250,56 +2250,53 @@ msgid "Listen in Browser"
msgstr "Ouvir no Browser"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Livro"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "de"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Publicado em"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Marcar como não lido"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Marcar como lido"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Leia"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Restaurar do arquivo"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Adicionar ao arquivo"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Arquivado em"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Descrição:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Adicionar à estante"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Público)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Editar Metadados"
@@ -2651,10 +2648,20 @@ msgstr "Livro"
msgid "Calibre-Web eBook Catalog"
msgstr "Catálogo de e-books Calibre-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "leitor de PDF"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Refluxo de texto quando as barras laterais estão abertas."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "leitor de PDF"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Atalhos de Teclado"
@@ -2771,13 +2778,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "leitor de PDF"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "leitor de PDF"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Leitor de texto txt básico"
+#, fuzzy
+msgid "txt Reader"
+msgstr "leitor de PDF"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3004,15 +3018,15 @@ msgstr "Kobo Sync Token"
msgid "Create/View"
msgstr "Criar/Ver"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Adicionar valores permitidos/definidos da coluna personalizada"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Eliminar Utilizador"
@@ -3112,7 +3126,7 @@ msgid "Edit Public Shelves"
msgstr "Estante Pública"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo
index 10fffe2b..88aabcee 100644
Binary files a/cps/translations/ru/LC_MESSAGES/messages.mo and b/cps/translations/ru/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po
index 96aee277..31c7e88a 100644
--- a/cps/translations/ru/LC_MESSAGES/messages.po
+++ b/cps/translations/ru/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-04-29 01:20+0400\n"
"Last-Translator: ZIZA\n"
"Language: ru\n"
@@ -31,434 +31,434 @@ msgstr "не установлено"
msgid "Statistics"
msgstr "Статистика"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Сервер перезагружен, пожалуйста, обновите страницу"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Производится остановка сервера, пожалуйста, закройте окно"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Успешно переподключено"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Неизвестная команда"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Неизвестно"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Администрирование"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Настройка интерфейса"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Управление сервером"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Все"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Показать все"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Конфигурация Calibre-Web обновлена"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Вы действительно хотите удалить Kobo Token ?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Вы действительно хотите удалить эту книжную полку?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Вы действительно хотите остановить Calibre-Web?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Запретить"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Разрешить"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json не настроен для веб-приложения"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Неправильное расположение файла журнала, пожалуйста, введите правильный путь."
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Недопустимое расположение файла журнала доступа, пожалуйста, введите правильный путь"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Пожалуйста, введите провайдера LDAP, порт, DN и идентификатор объекта пользователя"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов группы LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов группы LDAP имеет незавершённые круглые скобки"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "Фильтр объектов пользователя LDAP должен иметь один идентификатор формата \"%s\""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "Фильтр объектов пользователя LDAP имеет незавершенную круглую скобку"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь."
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Дополнительный Настройки"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-mail не из существующей доменной зоны"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Добавить пользователя"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Для этого адреса электронной почты или логина уже есть учётная запись."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Это последний администратор, невозможно удалить пользователя"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Неизвестная ошибка. Попробуйте позже."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Изменить настройки SMTP"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Произошла ошибка при отправке тестового письма на: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "Настройки E-mail сервера обновлены"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Пароль для пользователя %(user)s сброшен"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сперва настройте параметры SMTP....."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Просмотр лога"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Проверка обновлений"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Загрузка обновлений"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Распаковка обновлений"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Замена файлов"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Соединения с базой данных закрыты"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Остановка сервера"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Обновления установлены, нажмите ок и перезагрузите страницу"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Ошибка обновления:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "Ошибка HTTP"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Ошибка соединения"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Тайм-аут при установлении соединения"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Общая ошибка"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Не удалось сохранить файл обновления во временной папке."
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Ошибка: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "По крайней мере, один пользователь LDAP не найден в базе данных"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -470,7 +470,7 @@ msgstr "не настроено"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -483,8 +483,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен"
@@ -521,7 +521,7 @@ msgstr "Ошибка при создании пути %(path)s (Доступ з
msgid "Failed to store file %(file)s."
msgstr "Не удалось сохранить файл %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -654,69 +654,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Не удалось переименовать файл по пути '%(src)s' to '%(dest)s' из-за ошибки: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Файл %(file)s не найден на Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Путь книги %(path)s не найден на Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Этот адрес электронной почты уже зарегистрирован."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Это имя пользователя уже занято"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Не удалось создать путь для обложки."
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -757,7 +757,7 @@ msgstr "Настройка Kobo"
msgid "Register with %(provider)s"
msgstr "Зарегистрируйтесь с %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "вы вошли как пользователь '%(nickname)s'"
@@ -823,7 +823,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Логин"
@@ -839,7 +839,7 @@ msgstr "Ключ просрочен"
msgid "Success! Please return to your device"
msgstr "Успешно! Пожалуйста, проверьте свое устройство"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Книги"
@@ -864,7 +864,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Книги с наилучшим рейтингом"
@@ -873,7 +873,7 @@ msgid "Show Top Rated Books"
msgstr "Показывать книги с наивысшим рейтингом"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Прочитанные Книги"
@@ -882,7 +882,7 @@ msgid "Show read and unread"
msgstr "Показывать прочитанные и непрочитанные"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Непрочитанные Книги"
@@ -900,7 +900,7 @@ msgid "Show Random Books"
msgstr "Показывать Случайные Книги"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Категории"
@@ -910,7 +910,7 @@ msgstr "Показывать выбор категории"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Серии"
@@ -928,7 +928,7 @@ msgid "Show author selection"
msgstr "Показывать выбор автора"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Издатели"
@@ -938,7 +938,7 @@ msgstr "Показать выбор издателя"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Языки"
@@ -962,7 +962,7 @@ msgstr "Форматы файлов"
msgid "Show file formats selection"
msgstr "Показать выбор форматов файлов"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -970,7 +970,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -978,98 +978,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Указана неверная полка"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Извините, но вам не разрешено добавлять книги на полку: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Книги уже размещены на полке: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга добавлена на книжную полку: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Вам не разрешено добавлять книгу на полку: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Книги уже размещены на полке: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Книги добавлены на полку: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Не удалось добавить книги на полку: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга удалена с полки: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Извините, вы не можете удалить книгу с полки: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Создать полку"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Извините, вы не можете удалить книгу с полки: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Изменить полку"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Создана полка %(title)s"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Колка %(title)s изменена"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Произошла ошибка"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Публичная полка с названием '%(title)s' уже существует."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Приватная полка с названием '%(title)s' уже существует."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Изменить расположение полки '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Полка: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Ошибка открытия Полки. Полка не существует или недоступна"
@@ -1102,185 +1107,180 @@ msgstr "Новое обновление доступно. Нажмите на к
msgid "No release information available"
msgstr "Информация о выпуске недоступна"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Обзор (Случайные Книги)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Популярные книги (часто загружаемые)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Автор: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Издатель: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Серии: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Оценка: %(rating)s звезды(а)"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Формат файла: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Категория: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Язык: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Расширенный поиск"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Поиск"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Скачать"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Список рейтингов"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Список форматов файлов"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Задания"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Опубликовано после "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Опубликовано до "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Рейтинг <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Рейтинг >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "При отправке этой книги произошла ошибка: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Сервер электронной почты не настроен, обратитесь к администратору !"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Зарегистрироваться"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Ваш e-mail не подходит для регистрации"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Письмо с подтверждением отправлено вам на e-mail."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Не удается активировать LDAP аутентификацию"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Резервный вход в систему как: '%(nickname)s', LDAP-сервер недоступен или пользователь не известен"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Не удалось войти: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Ошибка в имени пользователя или пароле"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Новый пароль был отправлен на ваш адрес электронной почты"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s's"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Профиль обновлён"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Читать Книгу"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1545,7 +1545,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Отмена"
@@ -1694,12 +1694,12 @@ msgid "Published Date"
msgstr "Опубликовано"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Издатель"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Язык"
@@ -1729,7 +1729,7 @@ msgstr "Получить метаданные"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Сохранить"
@@ -2195,35 +2195,35 @@ msgstr "Регулярное выражение для сортировки за
msgid "Default Settings for New Users"
msgstr "Настройки по умолчанию для новых пользователей"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Управление сервером"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Разрешить скачивание с сервера"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Разрешить чтение книг"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Разрешить загрузку на сервер"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Разрешить редактирование книг"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Разрешить удаление книг"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Разрешить смену пароля"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Разрешить редактирование публичных книжных полок"
@@ -2231,12 +2231,12 @@ msgstr "Разрешить редактирование публичных кн
msgid "Default Visibilities for New Users"
msgstr "Видимость для новых пользователей(по умолчанию)"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Показывать случайные книги при просмотре деталей"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Добавить разрешенные / запрещенные теги"
@@ -2253,56 +2253,53 @@ msgid "Listen in Browser"
msgstr "Прослушать в браузере"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Книга"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "из"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Опубликованный"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Отметить как непрочитанное"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Отметить как прочитанное"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Прочесть"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Описание:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Добавить на книжную полку"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Публичная)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Редактировать метаданные"
@@ -2654,10 +2651,20 @@ msgstr "Книга"
msgid "Calibre-Web eBook Catalog"
msgstr "Каталог электронных книг Caliber-Web"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF reader"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Обновить размещение текста при открытии боковой панели."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF reader"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Горячие клавиши"
@@ -2774,13 +2781,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF reader"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF reader"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Средство для чтения txt-файлов"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF reader"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3007,15 +3021,15 @@ msgstr "Kobo Sync Token"
msgid "Create/View"
msgstr "Создать/Просмотреть"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Удалить этого пользователя"
@@ -3114,7 +3128,7 @@ msgid "Edit Public Shelves"
msgstr "Изменить полку"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo
index 0f0b6354..71c16622 100644
Binary files a/cps/translations/sv/LC_MESSAGES/messages.mo and b/cps/translations/sv/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/sv/LC_MESSAGES/messages.po b/cps/translations/sv/LC_MESSAGES/messages.po
index 41a2396f..2ff00ccc 100644
--- a/cps/translations/sv/LC_MESSAGES/messages.po
+++ b/cps/translations/sv/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2021-05-13 11:00+0000\n"
"Last-Translator: Jonatan Nyberg \n"
"Language: sv\n"
@@ -30,432 +30,432 @@ msgstr "inte installerad"
msgid "Statistics"
msgstr "Statistik"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Server startas om, vänligen uppdatera sidan"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Stänger servern, vänligen stäng fönstret"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "Återanslutning lyckades"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "Okänt kommando"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Okänd"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Administrationssida"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Grundläggande konfiguration"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Användargränssnitt konfiguration"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr "Redigera användare"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Alla"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "Användaren hittades inte"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "{} användare har tagits bort"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Visa alla"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr "Felaktig begäran"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "Gästnamn kan inte ändras"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "Gäst kan inte ha den här rollen"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "Ingen administratörsanvändare kvar, kan inte ta bort administratörsrollen"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr "Värdet måste vara sant eller falskt"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr "Ogiltig roll"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "Gästen kan inte ha den här vyn"
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr "Ogiltig vy"
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "Gästens språk bestäms automatiskt och kan inte ställas in"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr "Inget giltigt språk anges"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr "Inget giltigt bokspråk anges"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr "Parameter hittades inte"
-#: cps/admin.py:531
+#: cps/admin.py:534
#, fuzzy
msgid "Invalid Read Column"
msgstr "Ogiltig roll"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web konfiguration uppdaterad"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "Vill du verkligen ta bort Kobo-token?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "Vill du verkligen ta bort den här domänen?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "Vill du verkligen ta bort den här användaren?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Är du säker på att du vill ta bort hyllan?"
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Är du säker på att du vill ändra språk för valda användare?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "Är du säker på att du vill ändra synliga bokspråk för valda användare?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?"
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Är du säker på att du vill ändra de valda begränsningarna för de valda användarna?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "Är du säker på att du vill ändra de valda synlighetsbegränsningarna för de valda användarna?"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Är du säker på att du vill stoppa Calibre-Web?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr "Taggen hittades inte"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr "Ogiltig åtgärd"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "Förneka"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "Tillåt"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json är inte konfigurerad för webbapplikation"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Loggfilens plats är inte giltig, vänligen ange rätt sökväg"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "Åtkomstloggplatsens plats är inte giltig, vänligen ange rätt sökväg"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "Vänligen ange en LDAP-leverantör, port, DN och användarobjektidentifierare"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Ange giltigt användarnamn för att återställa lösenordet"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP-gruppobjektfilter måste ha en \"%s\"-formatidentifierare"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP-gruppobjektfilter har omatchande parentes"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP-användarobjektfilter måste ha en \"%s\"-formatidentifierare"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP-användarobjektfilter har omatchad parentes"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr "Användarfilter för LDAP-medlemmar måste ha en \"%s\"-formatidentifierare"
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr "Användarfilter för LDAP-medlemmar har omatchad parentes"
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP-certifikat, certifikat eller nyckelplats är inte giltigt, vänligen ange rätt sökväg"
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "Inställningar för DB är inte skrivbara"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "DB-plats är inte giltig, vänligen ange rätt sökväg"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "DB är inte skrivbar"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "Keyfile-platsen är inte giltig, vänligen ange rätt sökväg"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "Certfile-platsen är inte giltig, vänligen ange rätt sökväg"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Funktion konfiguration"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Fyll i alla fält!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-posten är inte från giltig domän"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Lägg till ny användare"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Användaren '%(user)s' skapad"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr "Hittade ett befintligt konto för den här e-postadressen eller namnet."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Användaren '%(nick)s' borttagen"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "Det går inte att ta bort gästanvändaren"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Redigera användaren %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Användaren '%(nick)s' uppdaterad"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Ett okänt fel uppstod. Försök igen senare."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Ändra SMTP-inställningar"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
#, fuzzy
msgid "Gmail Account Verification Successful"
msgstr "Verifiering av G-mail-kontot lyckades"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "Testa e-post i kö för att skicka till %(email)s, vänligen kontrollera Uppgifter för resultat"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Det gick inte att skicka Testmeddelandet: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Vänligen konfigurera din e-postadress först..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "E-postserverinställningar uppdaterade"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Lösenord för användaren %(user)s återställd"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Konfigurera SMTP-postinställningarna först..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Visaren för loggfil"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Begär uppdateringspaketet"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Hämtar uppdateringspaketet"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Packar upp uppdateringspaketet"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Ersätta filer"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Databasanslutningarna är stängda"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Stoppar server"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Uppdatering klar, tryck på okej och uppdatera sidan"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Uppdateringen misslyckades:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP-fel"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Anslutningsfel"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Tiden ute när du etablerade anslutning"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Allmänt fel"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "Uppdateringsfilen kunde inte sparas i Temp Dir"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "Det gick inte att skapa minst en LDAP-användare"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fel: %(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "Fel: Ingen användare återges som svar på LDAP-servern"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minst en LDAP-användare hittades inte i databasen"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} användare har importerats"
@@ -467,7 +467,7 @@ msgstr "inte konfigurerad"
msgid "Execution permissions missing"
msgstr "Körningstillstånd saknas"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Anpassad kolumn n.%(column)d finns inte i calibre-databasen"
@@ -480,8 +480,8 @@ msgstr "Bokformat har tagits bort"
msgid "Book Successfully Deleted"
msgstr "Boken har tagits bort"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Hoppsan! Vald boktitel är inte tillgänglig. Filen finns inte eller är inte tillgänglig"
@@ -518,7 +518,7 @@ msgstr "Det gick inte att skapa sökväg %(path)s (behörighet nekad)."
msgid "Failed to store file %(file)s."
msgstr "Det gick inte att lagra filen %(file)s."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "Databasfel: %(error)s."
@@ -651,68 +651,68 @@ msgstr "Borttagning av bokmapp för boken %(id)s misslyckades, sökvägen har un
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "Borttagning av boken %(id)s misslyckades: %(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr "Borttagning av boken %(id)s, boksökväg inte giltig: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Byt namn på fil i sökvägen '%(src)s' till '%(dest)s' misslyckades med fel: %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Filen %(file)s hittades inte på Google Drive"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boksökvägen %(path)s hittades inte på Google Drive"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr "Hittade ett befintligt konto för den här e-postadressen"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Detta användarnamn är redan taget"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "Ogiltigt e-postadressformat"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "Fel vid hämtning av omslaget"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "Fel på omslagsformat"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "Det gick inte att skapa sökväg för omslag"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "Omslagsfilen är inte en giltig bildfil eller kunde inte lagras"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Endast jpg/jpeg/png/webp/bmp-filer stöds som omslagsfil"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Endast jpg/jpeg-filer stöds som omslagsfil"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "Unrar binär fil hittades inte"
@@ -753,7 +753,7 @@ msgstr "Kobo-installation"
msgid "Register with %(provider)s"
msgstr "Registrera dig med %(provider)s"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "du är nu inloggad som: \"%(nickname)s\""
@@ -819,7 +819,7 @@ msgid "{} Stars"
msgstr "{} stjärnor"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Logga in"
@@ -835,7 +835,7 @@ msgstr "Token har löpt ut"
msgid "Success! Please return to your device"
msgstr "Lyckades! Vänligen återvänd till din enhet"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "Böcker"
@@ -860,7 +860,7 @@ msgstr "Hämtade böcker"
msgid "Show Downloaded Books"
msgstr "Visa hämtade böcker"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Bäst rankade böcker"
@@ -869,7 +869,7 @@ msgid "Show Top Rated Books"
msgstr "Visa böcker med bästa betyg"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Lästa böcker"
@@ -878,7 +878,7 @@ msgid "Show read and unread"
msgstr "Visa lästa och olästa"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Olästa böcker"
@@ -896,7 +896,7 @@ msgid "Show Random Books"
msgstr "Visa slumpmässiga böcker"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategorier"
@@ -906,7 +906,7 @@ msgstr "Visa kategorival"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Serier"
@@ -924,7 +924,7 @@ msgid "Show author selection"
msgstr "Visa författarval"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Förlag"
@@ -934,7 +934,7 @@ msgstr "Visa urval av förlag"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Språk"
@@ -958,7 +958,7 @@ msgstr "Filformat"
msgid "Show file formats selection"
msgstr "Visa val av filformat"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "Arkiverade böcker"
@@ -966,7 +966,7 @@ msgstr "Arkiverade böcker"
msgid "Show archived books"
msgstr "Visa arkiverade böcker"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "Boklista"
@@ -974,98 +974,103 @@ msgstr "Boklista"
msgid "Show Books List"
msgstr "Visa boklista"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Ogiltig hylla specificerad"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Tyvärr får du inte lägga till en bok på hyllan: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "Boken är redan en del av hyllan: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Boken har lagts till i hyllan: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Du får inte lägga till en bok i hyllan: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "Böcker är redan en del av hyllan: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "Böcker har lagts till hyllan: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "Kunde inte lägga till böcker till hyllan: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Boken har tagits bort från hyllan: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Tyvärr har du inte rätt att ta bort en bok från den här hyllan: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Skapa en hylla"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Tyvärr har du inte rätt att ta bort en bok från den här hyllan: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Redigera en hylla"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Hyllan %(title)s skapad"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Hyllan %(title)s ändrad"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Det fanns ett fel"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "En offentlig hylla med namnet \"%(title)s\" finns redan."
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "En privat hylla med namnet \"%(title)s\" finns redan."
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Ändra ordning på hyllan: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Hylla: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Fel vid öppning av hyllan. Hylla finns inte eller är inte tillgänglig"
@@ -1098,185 +1103,180 @@ msgstr "En ny uppdatering är tillgänglig. Klicka på knappen nedan för att up
msgid "No release information available"
msgstr "Ingen versionsinformation tillgänglig"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Upptäck (slumpmässiga böcker)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Heta böcker (mest hämtade)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Hämtade böcker av %(user)s"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Författare: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Förlag: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Serier: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Betyg: %(rating)s stars"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Filformat: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Språk: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Avancerad sökning"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Sök"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "Hämtningar"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Betygslista"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Lista över filformat"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Uppgifter"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Publicerad efter "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Publicerad före "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Betyg <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Betyg >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lässtatus = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Boken är i kö för att skicka till %(kindlemail)s"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Det gick inte att skicka den här boken: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Konfigurera din kindle-e-postadress först..."
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-postservern är inte konfigurerad, kontakta din administratör!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Registrera"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "Din e-post är inte tillåten att registrera"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Bekräftelsemail skickades till ditt e-postkonto."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "Det går inte att aktivera LDAP-autentisering"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "Det gick inte att logga in: %(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Fel användarnamn eller lösenord"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Nytt lösenord skickades till din e-postadress"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Ange giltigt användarnamn för att återställa lösenordet"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Du är nu inloggad som: \"%(nickname)s\""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profil"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profilen uppdaterad"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Läs en bok"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr "Hittade ingen giltig gmail.json-fil med OAuth-information"
@@ -1541,7 +1541,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "Avbryt"
@@ -1690,12 +1690,12 @@ msgid "Published Date"
msgstr "Publiceringsdatum"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Förlag"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Språk"
@@ -1725,7 +1725,7 @@ msgstr "Hämta metadata"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "Spara"
@@ -2191,35 +2191,35 @@ msgstr "Reguljärt uttryck för titelsortering"
msgid "Default Settings for New Users"
msgstr "Standardinställningar för nya användare"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Adminstratör användare"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Tillåt Hämtningar"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "Tillåt bokvisare"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Tillåt Uppladdningar"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Tillåt Redigera"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "Tillåt borttagning av böcker"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Tillåt Ändra lösenord"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Tillåt Redigering av offentliga hyllor"
@@ -2227,12 +2227,12 @@ msgstr "Tillåt Redigering av offentliga hyllor"
msgid "Default Visibilities for New Users"
msgstr "Standardvisibiliteter för nya användare"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Visa slumpmässiga böcker i detaljvyn"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "Lägg till tillåtna/avvisade taggar"
@@ -2249,56 +2249,53 @@ msgid "Listen in Browser"
msgstr "Lyssna i webbläsaren"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Bok"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "av"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "Publicerad"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Markera som oläst"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Markera som läst"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Läst"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "Återställ från arkivet"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "Lägg till i arkivet"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "Arkiverad"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Beskrivning:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Lägg till hyllan"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(Publik)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Redigera metadata"
@@ -2650,10 +2647,20 @@ msgstr "Ok"
msgid "Calibre-Web eBook Catalog"
msgstr "Calibre-Web e-bokkatalog"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF-läsare"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Fyll i texten igen när sidofält är öppna."
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF-läsare"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Kortkommandon"
@@ -2770,13 +2777,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF-läsare"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF-läsare"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Grundläggande txt-läsare"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF-läsare"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3002,15 +3016,15 @@ msgstr "Kobo Sync Token"
msgid "Create/View"
msgstr "Skapa/Visa"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Ta bort den här användaren"
@@ -3096,7 +3110,7 @@ msgid "Edit Public Shelves"
msgstr "Redigera publika hyllor"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo
index f2add35a..4257d300 100644
Binary files a/cps/translations/tr/LC_MESSAGES/messages.mo and b/cps/translations/tr/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/tr/LC_MESSAGES/messages.po b/cps/translations/tr/LC_MESSAGES/messages.po
index 962ec9e6..b506c9bd 100644
--- a/cps/translations/tr/LC_MESSAGES/messages.po
+++ b/cps/translations/tr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2020-04-23 22:47+0300\n"
"Last-Translator: iz \n"
"Language: tr\n"
@@ -30,429 +30,429 @@ msgstr "yüklü değil"
msgid "Statistics"
msgstr "İstatistikler"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Sunucu yeniden başlatıldı, lütfen sayfayı yeniden yükleyin"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Sunucu kapatıyor, lütfen pencereyi kapatın"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Bilinmeyen"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Yönetim sayfası"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Temel Ayarlar"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Arayüz Ayarları"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "Tümü"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr ""
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web yapılandırması güncellendi"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr ""
-#: cps/admin.py:588
+#: cps/admin.py:591
msgid "Are you sure you want to change Calibre library location?"
msgstr ""
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Özellik Yapılandırması"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Lütfen tüm alanları doldurun!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "E-posta izin verilen bir servisten değil"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Yeni kullanıcı ekle"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "'%(user)s' kullanıcısı oluşturuldu"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Bu e-posta adresi veya kullanıcı adı için zaten bir hesap var."
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Kullanıcı '%(nick)s' silindi"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "Başka yönetici kullanıcı olmadığından silinemedi"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s kullanıcısını düzenle"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "'%(nick)s' kullanıcısı güncellendi"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz."
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Deneme e-postası gönderilirken bir hata oluştu: %(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "Lütfen önce e-posta adresinizi ayarlayın..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "E-posta sunucusu ayarları güncellendi"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s kullanıcısının şifresi sıfırlandı"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "Log dosyası görüntüleyici"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Güncelleme paketi isteniyor"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Güncelleme paketi indiriliyor"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Güncelleme paketi ayıklanıyor"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "Dosyalar değiştiriliyor"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "Veritabanı bağlantıları kapalı"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "Sunucu durduruyor"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Güncelleme tamamlandı, sayfayı yenilemek için lütfen Tamam'a tıklayınız"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "Güncelleme başarısız:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP Hatası"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "Bağlantı kurulmaya çalışırken zaman aşımına uğradı"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "Genel hata"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -464,7 +464,7 @@ msgstr "ayarlanmadı"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -477,8 +477,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -515,7 +515,7 @@ msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)"
msgid "Failed to store file %(file)s."
msgstr "%(file)s dosyası kaydedilemedi."
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -648,69 +648,69 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "Dosya adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "%(file)s dosyası Google Drive'da bulunamadı"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bu e-posta adresi için bir hesap mevcut."
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "Bu kullanıcı adı zaten alındı"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -751,7 +751,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr "%(provider)s ile Kaydol"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "giriş yaptınız: '%(nickname)s'"
@@ -817,7 +817,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Giriş"
@@ -833,7 +833,7 @@ msgstr "Token süresi doldu"
msgid "Success! Please return to your device"
msgstr "Başarılı! Lütfen cihazınıza dönün"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "eKitaplar"
@@ -858,7 +858,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr ""
@@ -867,7 +867,7 @@ msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Okunanlar"
@@ -876,7 +876,7 @@ msgid "Show read and unread"
msgstr "Okunan ve okunmayanları göster"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Okunmamışlar"
@@ -894,7 +894,7 @@ msgid "Show Random Books"
msgstr "Rastgele Kitap Göster"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Kategoriler"
@@ -904,7 +904,7 @@ msgstr "Kategori seçimini göster"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Seriler"
@@ -922,7 +922,7 @@ msgid "Show author selection"
msgstr "Yazar seçimini göster"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "Yayıncılar"
@@ -932,7 +932,7 @@ msgstr "Yayıncı seçimini göster"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Diller"
@@ -956,7 +956,7 @@ msgstr "Biçimler"
msgid "Show file formats selection"
msgstr "Dosya biçimi seçimini göster"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -964,7 +964,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -972,98 +972,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "Geçersiz kitaplık seçildi"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "Maalesef bu kitaplığa eKitap eklemenize izin verilmiyor: %(shelfname)s"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "eKitap zaten bu kitaplıkta bulunuyor: %(shelfname)s"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "eKitap kitaplığa eklendi: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "Bu kitaplığa eKitap eklemenize izin verilmiyor: %(name)s"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "eKitaplar zaten bu kitaplıkta bulunuyor: %(name)s"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "eKitaplar kitaplığa eklendi: %(sname)s"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "eKitaplar kitaplığa eklenemedi: %(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "eKitap kitaplıktan silindi: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Maalesef bu kitaplıktan eKitap silmenize izin verilmiyor: %(sname)s"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "Kitaplık oluştur"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Maalesef bu kitaplıktan eKitap silmenize izin verilmiyor: %(sname)s"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Kitaplığı düzenle"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "%(title)s kitaplığı oluşturuldu."
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "%(title)s kitaplığı değiştirildi"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Bir hata oluştu"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Kitaplık sıralamasını değiştir: '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Kitaplık: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Kitaplık açılırken hata oluştu. Kitaplık mevcut değil ya da erişilebilir değil"
@@ -1096,185 +1101,180 @@ msgstr "Yeni bir güncelleme mevcut. Son sürüme güncellemek için aşağıdak
msgid "No release information available"
msgstr "Sürüm bilgisi mevcut değil"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Keşfet (Rastgele)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "Yazar: %(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "Yayınevi: %(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Seri: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Değerlendirme: %(rating)s yıldız"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "Biçim: %(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Dil: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Gelişmiş Arama"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Ara"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr ""
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "Değerlendirme listesi"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "Biçim listesi"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "Görevler"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "Yayınlanma (sonra)"
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Yayınlanma (önce)"
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Değerlendirme <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Değerlendirme >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "%(kindlemail)s'a gönderilmek üzere başarıyla sıraya alındı"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "E-Posta sunucusu ayarlanmadı, lütfen yöneticinizle iletişime geçin!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Kayıt ol"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Onay e-Postası hesabınıza gönderildi."
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Yanlış Kullanıcı adı ya da Şifre"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "Yeni şifre e-Posta adresinize gönderildi"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Giriş yaptınız: '%(nickname)s'"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s Profili"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Profil güncellendi"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Kitap Oku"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1539,7 +1539,7 @@ msgstr ""
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1688,12 +1688,12 @@ msgid "Published Date"
msgstr ""
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Yayınevi"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Dil"
@@ -1723,7 +1723,7 @@ msgstr ""
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2188,35 +2188,35 @@ msgstr ""
msgid "Default Settings for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr ""
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "İndirmeye İzin Ver"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Yüklemeye izin ver"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Düzenlemeye İzin ver"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Şifre değiştirmeye izin ver"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Genel Kitaplıkları düzenlemeye izin ver"
@@ -2224,12 +2224,12 @@ msgstr "Genel Kitaplıkları düzenlemeye izin ver"
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2246,56 +2246,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Kitap"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "için"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "Okunmadı olarak işaretle"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "Okundu olarak işaretle"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Okudum"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Açıklama:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Kitaplığa ekle"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr ""
@@ -2647,10 +2644,20 @@ msgstr "Kitap"
msgid "Calibre-Web eBook Catalog"
msgstr ""
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "PDF Okuyucu"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Kenar çubukları açıkken metni kaydır"
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "PDF Okuyucu"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "Klavye Kısayolları"
@@ -2767,13 +2774,20 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "PDF Okuyucu"
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF Okuyucu"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "Temel Metin Okuyucu"
+#, fuzzy
+msgid "txt Reader"
+msgstr "PDF Okuyucu"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -3000,15 +3014,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr ""
@@ -3100,7 +3114,7 @@ msgid "Edit Public Shelves"
msgstr "Kitaplığı düzenle"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo
index 82bd8252..b77aee14 100644
Binary files a/cps/translations/uk/LC_MESSAGES/messages.mo and b/cps/translations/uk/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po
index 79119bbd..7ccc2267 100644
--- a/cps/translations/uk/LC_MESSAGES/messages.po
+++ b/cps/translations/uk/LC_MESSAGES/messages.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-web\n"
"Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: ABIS Team \n"
"Language: uk\n"
@@ -29,432 +29,432 @@ msgstr "не встановлено"
msgid "Statistics"
msgstr "Статистика"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "Сервер перезавантажено, будь-ласка, перезавантажте сторінку"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "Виконується зупинка серверу, будь-ласка, закрийте вікно"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "Невідомий"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "Сторінка адміністратора"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "Настройки сервера"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "Конфігурація інтерфейсу"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "Керування сервером"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr ""
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "Показати всі"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:576
+#: cps/admin.py:579
#, fuzzy
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
#, fuzzy
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "Ви справді хочете видалити книжкову полицю?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "Особливі налаштування"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "Будь-ласка, заповніть всі поля!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "Додати користувача"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "Користувач '%(user)s' додан"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Користувача '%(nick)s' видалено"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "Змінити користувача %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Користувача '%(nick)s' оновлено"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "Змінити налаштування SMTP"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP"
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "Перевірка оновлень"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "Завантаження оновлень"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "Розпакування оновлення"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "З'єднання з базою даних закрите"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr ""
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -466,7 +466,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -479,8 +479,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу."
@@ -517,7 +517,7 @@ msgstr ""
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -650,68 +650,68 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -752,7 +752,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Ви увійшли як користувач: '%(nickname)s'"
@@ -818,7 +818,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "Ім'я користувача"
@@ -834,7 +834,7 @@ msgstr "Час дії токено вичерпано"
msgid "Success! Please return to your device"
msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr ""
@@ -859,7 +859,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "Книги з найкращим рейтингом"
@@ -868,7 +868,7 @@ msgid "Show Top Rated Books"
msgstr "Показувати книги з найвищим рейтингом"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "Прочитані книги"
@@ -877,7 +877,7 @@ msgid "Show read and unread"
msgstr "Показувати прочитані та непрочитані книги"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "Непрочитані книги"
@@ -895,7 +895,7 @@ msgid "Show Random Books"
msgstr "Показувати випадкові книги"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "Категорії"
@@ -905,7 +905,7 @@ msgstr "Показувати вибір категорії"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "Серії"
@@ -923,7 +923,7 @@ msgid "Show author selection"
msgstr "Показувати вибір автора"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr ""
@@ -933,7 +933,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "Мови"
@@ -957,7 +957,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -965,7 +965,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -973,98 +973,103 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr ""
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
-msgstr ""
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
+msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr ""
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга додана на книжкову полицю: %(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга видалена з книжкової полиці: %(sname)s"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "створити книжкову полицю"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "Змінити книжкову полицю"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "Створена книжкова полиця %(title)s"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Книжкова полиця %(title)s змінена"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "Сталась помилка"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Змінити розташування книжкової полиці '%(name)s'"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Книжкова полиця: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Помилка при відкриванні полиці. Полиця не існує або до неї відсутній доступ"
@@ -1097,185 +1102,180 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "Огляд (випадкові книги)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "Популярні книги (найбільш завантажувані)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "Серії: %(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "Категорія: %(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "Мова: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "Розширений пошук"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "Пошук"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr ""
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr ""
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr ""
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "Опубліковано до"
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Помилка при відправці книги: %(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "Зареєструватись"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "Помилка в імені користувача або паролі"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "Профіль %(name)s"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "Профіль оновлено"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "Читати книгу"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1540,7 +1540,7 @@ msgstr "Ok"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1689,12 +1689,12 @@ msgid "Published Date"
msgstr "Опубліковано"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "Видавець"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "Мова"
@@ -1724,7 +1724,7 @@ msgstr "Отримати метадані"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2189,35 +2189,35 @@ msgstr "Regexp для сортування по назві"
msgid "Default Settings for New Users"
msgstr "Налаштування по замовчуванню для нових користувачів"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "Керування сервером"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "Дозволити завантажувати з сервера"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "Дозволити завантаження на сервер"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "Дозволити редагування книг"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "Дозволити зміну пароля"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "Дозволити редагування публічних книжкових полиць"
@@ -2225,12 +2225,12 @@ msgstr "Дозволити редагування публічних книжк
msgid "Default Visibilities for New Users"
msgstr "Можливості за замовчуванням для нових користувачів"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "Показувати випадкові книги при перегляді деталей"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2247,56 +2247,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "Книга"
+#, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "з"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr ""
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "Прочитано"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "Опис:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "Додати на книжкову полицю"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "Редагувати метадані"
@@ -2647,10 +2644,18 @@ msgstr "Книга"
msgid "Calibre-Web eBook Catalog"
msgstr ""
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr ""
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "Переформатувати текст, коли відкриті бічні панелі."
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr ""
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr ""
@@ -2767,12 +2772,17 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr ""
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr ""
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
+#, fuzzy
+msgid "txt Reader"
msgstr "Засіб для читання txt-файлів"
#: cps/templates/register.html:4
@@ -3000,15 +3010,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "Видалити цього користувача"
@@ -3099,7 +3109,7 @@ msgid "Edit Public Shelves"
msgstr "Змінити книжкову полицю"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
index aac38c86..0d60104e 100644
Binary files a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po
index f1563d09..0f851a07 100644
--- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po
+++ b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Calibre-Web\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:30+0200\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: dalin \n"
"Language: zh_CN\n"
@@ -30,433 +30,433 @@ msgstr "未安装"
msgid "Statistics"
msgstr "统计"
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr "服务器已重启,请刷新页面"
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr "正在关闭服务器,请关闭窗口"
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr "重新连接成功"
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr "未知命令"
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr "未知"
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr "管理页"
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr "基本配置"
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
#, fuzzy
msgid "Edit Users"
msgstr "管理员用户"
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr "全部"
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr "找不到用户"
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr "成功删除 {} 个用户"
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr "显示全部"
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
-msgstr ""
+msgstr "格式错误的请求"
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr "访客名称无法更改"
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr "游客无法拥有此角色"
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr "理员账户不存在,无法删除管理员角色"
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
-msgstr ""
+msgstr "值必须是 true 或 false"
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
-msgstr ""
+msgstr "无效角色"
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr "游客无法拥有此视图"
-#: cps/admin.py:456
-msgid "Invalid view"
-msgstr ""
-
#: cps/admin.py:459
+msgid "Invalid view"
+msgstr "无效视图"
+
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr "游客的本地化是自动侦测而无法设置的"
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
-msgstr ""
+msgstr "无可用本地化"
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
-msgstr ""
+msgstr "无有效书籍语言"
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
-msgstr ""
+msgstr "参数未找到"
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
-msgstr ""
+msgstr "无效的阅读列"
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
-msgstr ""
+msgstr "无效的限制列"
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr "Calibre-Web配置已更新"
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr "您确定删除Kobo Token吗?"
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr "您确定要删除此域吗?"
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr "您确定要删除此用户吗?"
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr "您确定要删除此书架吗?"
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr "您确定要修改选定用户的本地化设置吗?"
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr "您确定要修改选定用户的可见书籍语言吗?"
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr "您确定要修改选定用户的选定角色吗?"
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr "您确定要修改选定用户的选定限制吗?"
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr "您确定要修改选定用户的选定可视化限制吗?"
-#: cps/admin.py:586
+#: cps/admin.py:589
#, fuzzy
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr "您确定要修改选定用户的选定角色吗?"
-#: cps/admin.py:588
+#: cps/admin.py:591
#, fuzzy
msgid "Are you sure you want to change Calibre library location?"
msgstr "您确定要关闭吗?"
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
-msgstr ""
+msgstr "标签未找到"
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
-msgstr ""
+msgstr "无效的动作"
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr "拒绝"
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr "允许"
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr "client_secrets.json 未为 Web 应用程序配置"
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr "日志文件路径无效,请输入正确的路径"
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr "访问日志路径无效,请输入正确的路径"
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr "请输入LDAP主机、端口、DN和用户对象标识符"
-#: cps/admin.py:1098
+#: cps/admin.py:1101
#, fuzzy
msgid "Please Enter a LDAP Service Account and Password"
msgstr "请输入有效的用户名进行密码重置"
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr "LDAP组对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr "LDAP组对象过滤器的括号不匹配"
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr "LDAP用户对象过滤器需要一个具有“%s”格式标识符"
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr "LDAP用户对象过滤器的括号不匹配"
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr "设置数据库不可写入"
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr "数据库路径无效,请输入正确的路径"
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr "数据库不可写入"
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr "密钥文件路径无效,请输入正确的路径"
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr "证书文件路径无效,请输入正确的路径"
-#: cps/admin.py:1317
+#: cps/admin.py:1320
#, fuzzy
msgid "Database Configuration"
msgstr "功能配置"
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr "请填写所有字段!"
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr "邮箱不在有效域中"
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr "添加新用户"
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr "用户“%(user)s”已创建"
-#: cps/admin.py:1361
+#: cps/admin.py:1365
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "此邮箱或用户名的账号已经存在。"
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户“%(nick)s”已删除"
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr "无法删除游客用户"
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr "管理员账户不存在,无法删除用户"
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户“%(nick)s”已更新"
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr "发生一个未知错误,请稍后再试。"
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr "编辑邮件服务器设置"
-#: cps/admin.py:1506
+#: cps/admin.py:1517
#, fuzzy
msgid "Gmail Account Verification Successful"
msgstr "G-Mail账号校验成功"
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
-msgstr ""
+msgstr "发送给%(email)s的测试邮件已进入队列。请检查任务结果"
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "发送测试邮件时出错:%(res)s"
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr "请先配置您的邮箱地址..."
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr "邮件服务器设置已更新"
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用户 %(user)s 的密码已重置"
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱设置..."
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr "日志文件查看器"
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr "正在请求更新包"
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr "正在下载更新包"
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr "正在解压更新包"
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr "正在替换文件"
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr "数据库连接已关闭"
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr "正在停止服务器"
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,请点击确定并刷新页面"
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr "更新失败:"
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr "HTTP错误"
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr "连接错误"
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr "建立连接超时"
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr "一般错误"
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr "更新文件无法保存在临时目录中"
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr "创建至少一个LDAP用户失败"
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "错误:%(ldaperror)s"
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr "错误:在LDAP服务器的响应中没有返回用户"
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr "数据库中没有找到至少一个LDAP用户"
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr "{} 用户被成功导入"
@@ -468,7 +468,7 @@ msgstr "未配置"
msgid "Execution permissions missing"
msgstr "缺少执行权限"
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "自定义列号:%(column)d在Calibre数据库中不存在"
@@ -481,8 +481,8 @@ msgstr "书籍格式已成功删除"
msgid "Book Successfully Deleted"
msgstr "书籍已成功删除"
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问"
@@ -493,7 +493,7 @@ msgstr "编辑元数据"
#: cps/editbooks.py:452
#, python-format
msgid "%(seriesindex)s is not a valid number, skipping"
-msgstr ""
+msgstr "%(seriesindex)s 不是一个有效的数值,忽略"
#: cps/editbooks.py:485
#, python-format
@@ -519,7 +519,7 @@ msgstr "创建路径 %(path)s 失败(权限拒绝)。"
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失败。"
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr "数据库错误:%(error)s。"
@@ -652,69 +652,69 @@ msgstr "删除书的文件夹%(id)s失败,路径有子文件夹:%(path)s"
msgid "Deleting book %(id)s failed: %(message)s"
msgstr "删除书籍 %(id)s失败:%(message)s"
-#: cps/helper.py:334
-#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
-msgstr "删除书籍 %(id)s失败,书籍路径无效:%(path)s"
+#: cps/helper.py:335
+#, fuzzy, python-format
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
+msgstr "仅从数据库中删除书籍 %(id)s,书籍路径在数据库中无效: %(path)s"
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "将标题从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s"
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr "从“%(src)s”重命名为“%(dest)s”失败,出错信息:%(error)s"
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr "Google Drive上找不到文件 %(file)s"
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google Drive上找不到书籍路径 %(path)s"
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "此邮箱的账号已经存在。"
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr "此用户名已被使用"
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr "无效的邮件地址格式"
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr "下载封面时出错"
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr "封面格式出错"
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr "创建封面路径失败"
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr "封面文件不是有效的图片文件,或者无法存储"
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "封面文件只支持jpg/jpeg/png/webp/bmp文件"
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "仅将jpg、jpeg文件作为封面文件"
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr "找不到Unrar执行文件"
@@ -755,7 +755,7 @@ msgstr "Kobo 设置"
msgid "Register with %(provider)s"
msgstr "使用 %(provider)s 注册"
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”身份登录"
@@ -821,7 +821,7 @@ msgid "{} Stars"
msgstr "{} 星"
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr "登录"
@@ -837,7 +837,7 @@ msgstr "Token已过期"
msgid "Success! Please return to your device"
msgstr "成功!请返回您的设备"
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr "书籍"
@@ -862,7 +862,7 @@ msgstr "下载历史"
msgid "Show Downloaded Books"
msgstr "显示下载过的书籍"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr "最高评分书籍"
@@ -871,7 +871,7 @@ msgid "Show Top Rated Books"
msgstr "显示最高评分书籍"
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr "已读书籍"
@@ -880,7 +880,7 @@ msgid "Show read and unread"
msgstr "显示阅读状态"
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr "未读书籍"
@@ -898,7 +898,7 @@ msgid "Show Random Books"
msgstr "显示随机书籍"
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr "分类"
@@ -908,7 +908,7 @@ msgstr "显示分类选择"
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr "丛书"
@@ -926,7 +926,7 @@ msgid "Show author selection"
msgstr "显示作者选择"
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr "出版社"
@@ -936,7 +936,7 @@ msgstr "显示出版社选择"
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr "语言"
@@ -960,7 +960,7 @@ msgstr "文件格式"
msgid "Show file formats selection"
msgstr "显示文件格式选择"
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr "归档书籍"
@@ -968,7 +968,7 @@ msgstr "归档书籍"
msgid "Show archived books"
msgstr "显示归档书籍"
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr "书籍列表"
@@ -976,98 +976,103 @@ msgstr "书籍列表"
msgid "Show Books List"
msgstr "显示书籍列表"
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr "指定的书架无效"
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+#, fuzzy
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr "对不起,您没有添加书籍到书架 %(shelfname)s 的权限"
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr "此书籍已经是书架 %(shelfname)s 的一部分"
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr "此书籍已被添加到书架:%(sname)s"
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr "您没有添加书籍到书架 %(name)s 的权限"
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr "书籍已经在书架 %(name)s 中了"
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr "书籍已经被添加到书架 %(sname)s 中"
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr "无法添加书籍到书架:%(sname)s"
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr "此书已从书架 %(sname)s 中删除"
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr "对不起,您没有从书架 %(sname)s 中删除书籍的权限"
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr "创建书架"
#: cps/shelf.py:238
+#, fuzzy
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr "对不起,您没有编辑书架的权限"
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr "编辑书架"
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr "书架 %(title)s 已创建"
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr "书架 %(title)s 已修改"
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr "发生错误"
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "公共书架:%(title)s已经存在已经存在。"
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "私有书架:%(title)s已经存在已经存在。"
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "修改书架 %(name)s 顺序"
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "书架:%(name)s"
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "打开书架出错。书架不存在或不可访问"
@@ -1100,185 +1105,180 @@ msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s"
msgid "No release information available"
msgstr "无可用发布信息"
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr "发现(随机书籍)"
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr "热门书籍(最多下载)"
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "%(user)s 下载过的书籍"
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr "作者:%(name)s"
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社:%(name)s"
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr "丛书:%(serie)s"
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "评分:%(rating)s 星"
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr "文件格式:%(format)s"
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr "分类:%(name)s"
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr "语言:%(name)s"
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr "高级搜索"
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr "搜索"
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr "下载次数"
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr "评分列表"
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr "文件格式列表"
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr "任务列表"
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr "出版时间晚于 "
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr "出版时间早于 "
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr "评分 <= %(rating)s"
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr "评分 >= %(rating)s"
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
-msgstr ""
+msgstr "阅读状态 = %(status)s"
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
-msgstr ""
+msgstr "搜索自定义列时出错,请重启 Calibre-Web"
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "书籍已经成功加入 %(kindlemail)s 的发送队列"
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s"
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "请先配置您的kindle邮箱。"
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "邮件服务未配置,请联系网站管理员!"
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr "注册"
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr "您的电子邮件不允许注册"
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "确认邮件已经发送到您的邮箱。"
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr "无法激活LDAP认证"
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "后备登录“%(nickname)s”:无法访问LDAP服务器,或用户未知"
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr "无法登录:%(message)s"
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr "用户名或密码错误"
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr "新密码已发送到您的邮箱"
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr "请输入有效的用户名进行密码重置"
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”登录"
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用户配置"
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr "资料已更新"
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr "阅读一本书"
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1412,7 +1412,7 @@ msgstr "发件人邮箱"
#: cps/templates/admin.html:84
msgid "E-Mail Service"
-msgstr ""
+msgstr "电子邮件服务"
#: cps/templates/admin.html:85
msgid "Gmail via Oauth2"
@@ -1543,7 +1543,7 @@ msgstr "确定"
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr "取消"
@@ -1692,12 +1692,12 @@ msgid "Published Date"
msgstr "出版日期"
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr "出版社"
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr "语言"
@@ -1727,7 +1727,7 @@ msgstr "获取元数据"
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr "保存"
@@ -1777,11 +1777,11 @@ msgstr "合并选中的书籍"
#: cps/templates/book_table.html:25 cps/templates/user_table.html:122
msgid "Remove Selections"
-msgstr "删除选中的书籍"
+msgstr "删除所选项"
#: cps/templates/book_table.html:28
msgid "Exchange author and title"
-msgstr ""
+msgstr "交换作者和标题"
#: cps/templates/book_table.html:34
msgid "Update Title Sort automatically"
@@ -2193,35 +2193,35 @@ msgstr "按规则提取书名后排序(正则表达式)"
msgid "Default Settings for New Users"
msgstr "新用户默认权限设置"
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr "管理员用户"
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr "允许下载书籍"
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr "允许在线阅读"
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr "允许上传书籍"
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr "允许编辑书籍"
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr "允许删除书籍"
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr "允许修改密码"
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr "允许编辑公共书架"
@@ -2229,12 +2229,12 @@ msgstr "允许编辑公共书架"
msgid "Default Visibilities for New Users"
msgstr "新用户默认显示权限"
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr "在主页显示随机书籍"
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr "添加显示或隐藏书籍的标签值"
@@ -2251,56 +2251,53 @@ msgid "Listen in Browser"
msgstr "在线听书"
#: cps/templates/detail.html:125
-msgid "Book"
-msgstr "丛书编号"
+#, fuzzy, python-format
+msgid "Book %(index)s of %(range)s"
+msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr "在"
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr "出版日期"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr "标为未读"
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr "标为已读"
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr "已读"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr "从档案还原"
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr "添加到归档"
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr "归档"
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr "简介:"
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr "添加到书架"
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr "(公共)"
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr "编辑元数据"
@@ -2314,11 +2311,11 @@ msgstr "使用标准电子邮件账号"
#: cps/templates/email_edit.html:15
msgid "Gmail Account with OAuth2 Verification"
-msgstr ""
+msgstr "使用Gmail账号"
#: cps/templates/email_edit.html:21
msgid "Setup Gmail Account as E-Mail Server"
-msgstr ""
+msgstr "设置Gmail账号作为电子邮件服务"
#: cps/templates/email_edit.html:23
msgid "Revoke Gmail Access"
@@ -2393,25 +2390,25 @@ msgstr "回到首页"
#: cps/templates/http_error.html:50
msgid "Logout User"
-msgstr ""
+msgstr "登出账号"
#: cps/templates/index.html:72 cps/templates/search.html:33
#: cps/templates/shelf.html:20
msgid "Sort authors in alphabetical order"
-msgstr ""
+msgstr "按作者字母顺序排序"
#: cps/templates/index.html:73 cps/templates/search.html:34
#: cps/templates/shelf.html:21
msgid "Sort authors in reverse alphabetical order"
-msgstr ""
+msgstr "按作者逆字母顺序排序"
#: cps/templates/index.html:77
msgid "Sort ascending according to series index"
-msgstr ""
+msgstr "按丛书编号排序"
#: cps/templates/index.html:78
msgid "Sort descending according to series index"
-msgstr ""
+msgstr "按丛书编号逆排序"
#: cps/templates/index.xml:6
msgid "Start"
@@ -2569,11 +2566,11 @@ msgstr "显示访问日志: "
#: cps/templates/logviewer.html:18
msgid "Download Calibre-Web Log"
-msgstr ""
+msgstr "下载Calibre-Web日志"
#: cps/templates/logviewer.html:21
msgid "Download Access Log"
-msgstr ""
+msgstr "下载访问日志"
#: cps/templates/modal_dialogs.html:6
msgid "Select Allowed/Denied Tags"
@@ -2652,10 +2649,20 @@ msgstr "丛书编号"
msgid "Calibre-Web eBook Catalog"
msgstr "Caliebre-Web电子书路径"
+#: cps/templates/read.html:6
+#, fuzzy
+msgid "epub Reader"
+msgstr "epub阅读器"
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr "打开侧栏时重排文本。"
+#: cps/templates/readcbr.html:7
+#, fuzzy
+msgid "Comic Reader"
+msgstr "Comic阅读器"
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr "快捷键"
@@ -2754,31 +2761,38 @@ msgstr "从右到左"
#: cps/templates/readcbr.html:165
msgid "Reset to Top"
-msgstr ""
+msgstr "重置为顶部"
#: cps/templates/readcbr.html:166
msgid "Remember Position"
-msgstr ""
+msgstr "记住位置"
#: cps/templates/readcbr.html:171
msgid "Scrollbar"
-msgstr ""
+msgstr "工具栏"
#: cps/templates/readcbr.html:174
msgid "Show"
-msgstr ""
+msgstr "显示"
#: cps/templates/readcbr.html:175
msgid "Hide"
-msgstr ""
+msgstr "隐藏"
+
+#: cps/templates/readdjvu.html:10
+#, fuzzy
+msgid "DJVU Reader"
+msgstr "DJVU阅读器"
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+#, fuzzy
+msgid "PDF Reader"
msgstr "PDF阅读器"
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
-msgstr "基础文本阅读器"
+#, fuzzy
+msgid "txt Reader"
+msgstr "txt阅读器"
#: cps/templates/register.html:4
msgid "Register New Account"
@@ -2882,19 +2896,19 @@ msgstr "编辑书架属性"
#: cps/templates/shelf.html:13
msgid "Arrange books manually"
-msgstr ""
+msgstr "手动排列书籍排列顺序"
#: cps/templates/shelf.html:14
msgid "Disable Change order"
-msgstr ""
+msgstr "禁止改变顺序"
#: cps/templates/shelf.html:14
msgid "Enable Change order"
-msgstr ""
+msgstr "允许改变顺序"
#: cps/templates/shelf.html:93
msgid "Shelf will be deleted for all users"
-msgstr "书架将会重所有用户中删除"
+msgstr "书架将会从所有用户中删除"
#: cps/templates/shelf_edit.html:13
msgid "Share with Everyone"
@@ -2902,7 +2916,7 @@ msgstr "书架将被公开"
#: cps/templates/shelf_edit.html:20
msgid "Sync this shelf with Kobo device"
-msgstr ""
+msgstr "同步这个书架到 Kobo device"
#: cps/templates/shelf_order.html:5
msgid "Drag to Rearrange Order"
@@ -3004,15 +3018,15 @@ msgstr "Kobo 同步 Token"
msgid "Create/View"
msgstr "新建或查看"
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
-msgstr ""
+msgstr "仅同步所选书架中的书籍到 Kobo"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr "删除此用户"
@@ -3050,7 +3064,7 @@ msgstr "本地化"
#: cps/templates/user_table.html:136
msgid "Visible Book Languages"
-msgstr ""
+msgstr "可见数据语言"
#: cps/templates/user_table.html:137
msgid "Edit Allowed Tags"
@@ -3094,7 +3108,7 @@ msgstr "修改密码"
#: cps/templates/user_table.html:145
msgid "View"
-msgstr ""
+msgstr "查看书籍"
#: cps/templates/user_table.html:148
#, fuzzy
@@ -3102,8 +3116,9 @@ msgid "Edit Public Shelves"
msgstr "编辑公共书架"
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
-msgstr ""
+#, fuzzy
+msgid "Sync selected Shelves with Kobo"
+msgstr "同步所选书架到 Kobo"
#: cps/templates/user_table.html:154
msgid "Show read/unread selection"
diff --git a/messages.pot b/messages.pot
index b33020b1..45015150 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: 2021-06-29 18:30+0200\n"
+"POT-Creation-Date: 2021-08-01 17:26+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -29,426 +29,426 @@ msgstr ""
msgid "Statistics"
msgstr ""
-#: cps/admin.py:142
+#: cps/admin.py:145
msgid "Server restarted, please reload page"
msgstr ""
-#: cps/admin.py:144
+#: cps/admin.py:147
msgid "Performing shutdown of server, please close window"
msgstr ""
-#: cps/admin.py:152
+#: cps/admin.py:155
msgid "Reconnect successful"
msgstr ""
-#: cps/admin.py:155
+#: cps/admin.py:158
msgid "Unknown command"
msgstr ""
-#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701
+#: cps/admin.py:168 cps/editbooks.py:687 cps/editbooks.py:701
#: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869
#: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94
#: cps/uploader.py:104
msgid "Unknown"
msgstr ""
-#: cps/admin.py:186
+#: cps/admin.py:189
msgid "Admin page"
msgstr ""
-#: cps/admin.py:205
+#: cps/admin.py:208
msgid "Basic Configuration"
msgstr ""
-#: cps/admin.py:238
+#: cps/admin.py:241
msgid "UI Configuration"
msgstr ""
-#: cps/admin.py:271 cps/templates/admin.html:46
+#: cps/admin.py:274 cps/templates/admin.html:46
msgid "Edit Users"
msgstr ""
-#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
+#: cps/admin.py:315 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276
#: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14
msgid "All"
msgstr ""
-#: cps/admin.py:337 cps/admin.py:1550
+#: cps/admin.py:340 cps/admin.py:1561
msgid "User not found"
msgstr ""
-#: cps/admin.py:351
+#: cps/admin.py:354
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:373 cps/templates/user_edit.html:44
+#: cps/admin.py:376 cps/templates/user_edit.html:44
#: cps/templates/user_table.html:80
msgid "Show All"
msgstr ""
-#: cps/admin.py:394 cps/admin.py:400
+#: cps/admin.py:397 cps/admin.py:403
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:412 cps/admin.py:1432
+#: cps/admin.py:415 cps/admin.py:1443
msgid "Guest Name can't be changed"
msgstr ""
-#: cps/admin.py:424
+#: cps/admin.py:427
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:436 cps/admin.py:1395
+#: cps/admin.py:439 cps/admin.py:1406
msgid "No admin user remaining, can't remove admin role"
msgstr ""
-#: cps/admin.py:440 cps/admin.py:454
+#: cps/admin.py:443 cps/admin.py:457
msgid "Value has to be true or false"
msgstr ""
-#: cps/admin.py:442
+#: cps/admin.py:445
msgid "Invalid role"
msgstr ""
-#: cps/admin.py:446
+#: cps/admin.py:449
msgid "Guest can't have this view"
msgstr ""
-#: cps/admin.py:456
+#: cps/admin.py:459
msgid "Invalid view"
msgstr ""
-#: cps/admin.py:459
+#: cps/admin.py:462
msgid "Guest's Locale is determined automatically and can't be set"
msgstr ""
-#: cps/admin.py:463
+#: cps/admin.py:466
msgid "No Valid Locale Given"
msgstr ""
-#: cps/admin.py:474
+#: cps/admin.py:477
msgid "No Valid Book Language Given"
msgstr ""
-#: cps/admin.py:476
+#: cps/admin.py:479
msgid "Parameter not found"
msgstr ""
-#: cps/admin.py:531
+#: cps/admin.py:534
msgid "Invalid Read Column"
msgstr ""
-#: cps/admin.py:537
+#: cps/admin.py:540
msgid "Invalid Restricted Column"
msgstr ""
-#: cps/admin.py:556 cps/admin.py:1288
+#: cps/admin.py:559 cps/admin.py:1291
msgid "Calibre-Web configuration updated"
msgstr ""
-#: cps/admin.py:568
+#: cps/admin.py:571
msgid "Do you really want to delete the Kobo Token?"
msgstr ""
-#: cps/admin.py:570
+#: cps/admin.py:573
msgid "Do you really want to delete this domain?"
msgstr ""
-#: cps/admin.py:572
+#: cps/admin.py:575
msgid "Do you really want to delete this user?"
msgstr ""
-#: cps/admin.py:574 cps/templates/shelf.html:90
+#: cps/admin.py:577 cps/templates/shelf.html:90
msgid "Are you sure you want to delete this shelf?"
msgstr ""
-#: cps/admin.py:576
+#: cps/admin.py:579
msgid "Are you sure you want to change locales of selected user(s)?"
msgstr ""
-#: cps/admin.py:578
+#: cps/admin.py:581
msgid "Are you sure you want to change visible book languages for selected user(s)?"
msgstr ""
-#: cps/admin.py:580
+#: cps/admin.py:583
msgid "Are you sure you want to change the selected role for the selected user(s)?"
msgstr ""
-#: cps/admin.py:582
+#: cps/admin.py:585
msgid "Are you sure you want to change the selected restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:584
+#: cps/admin.py:587
msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?"
msgstr ""
-#: cps/admin.py:586
+#: cps/admin.py:589
msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?"
msgstr ""
-#: cps/admin.py:588
+#: cps/admin.py:591
msgid "Are you sure you want to change Calibre library location?"
msgstr ""
-#: cps/admin.py:737
+#: cps/admin.py:740
msgid "Tag not found"
msgstr ""
-#: cps/admin.py:749
+#: cps/admin.py:752
msgid "Invalid Action"
msgstr ""
-#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880
+#: cps/admin.py:857 cps/admin.py:863 cps/admin.py:873 cps/admin.py:883
#: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40
#: cps/templates/user_table.html:57
msgid "Deny"
msgstr ""
-#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882
+#: cps/admin.py:859 cps/admin.py:865 cps/admin.py:875 cps/admin.py:885
#: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43
#: cps/templates/user_table.html:60
msgid "Allow"
msgstr ""
-#: cps/admin.py:1011
+#: cps/admin.py:1014
msgid "client_secrets.json Is Not Configured For Web Application"
msgstr ""
-#: cps/admin.py:1056
+#: cps/admin.py:1059
msgid "Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1062
+#: cps/admin.py:1065
msgid "Access Logfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1092
+#: cps/admin.py:1095
msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier"
msgstr ""
-#: cps/admin.py:1098
+#: cps/admin.py:1101
msgid "Please Enter a LDAP Service Account and Password"
msgstr ""
-#: cps/admin.py:1101
+#: cps/admin.py:1104
msgid "Please Enter a LDAP Service Account"
msgstr ""
-#: cps/admin.py:1106
+#: cps/admin.py:1109
#, python-format
msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1108
+#: cps/admin.py:1111
msgid "LDAP Group Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1112
+#: cps/admin.py:1115
#, python-format
msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1114
+#: cps/admin.py:1117
msgid "LDAP User Object Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1121
+#: cps/admin.py:1124
#, python-format
msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier"
msgstr ""
-#: cps/admin.py:1123
+#: cps/admin.py:1126
msgid "LDAP Member User Filter Has Unmatched Parenthesis"
msgstr ""
-#: cps/admin.py:1130
+#: cps/admin.py:1133
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459
-#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437
+#: cps/admin.py:1175 cps/admin.py:1276 cps/admin.py:1369 cps/admin.py:1470
+#: cps/admin.py:1536 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205
+#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443
msgid "Settings DB is not Writeable"
msgstr ""
-#: cps/admin.py:1183
+#: cps/admin.py:1186
msgid "DB Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1188
+#: cps/admin.py:1191
msgid "DB is not Writeable"
msgstr ""
-#: cps/admin.py:1201
+#: cps/admin.py:1204
msgid "Keyfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1205
+#: cps/admin.py:1208
msgid "Certfile Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1317
+#: cps/admin.py:1320
msgid "Database Configuration"
msgstr ""
-#: cps/admin.py:1333 cps/web.py:1459
+#: cps/admin.py:1336 cps/web.py:1479
msgid "Please fill out all fields!"
msgstr ""
-#: cps/admin.py:1341
+#: cps/admin.py:1344
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1345 cps/admin.py:1478
+#: cps/admin.py:1348 cps/admin.py:1489
msgid "Add new user"
msgstr ""
-#: cps/admin.py:1355
+#: cps/admin.py:1359
#, python-format
msgid "User '%(user)s' created"
msgstr ""
-#: cps/admin.py:1361
+#: cps/admin.py:1365
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1374
+#: cps/admin.py:1385
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/admin.py:1376 cps/admin.py:1377
+#: cps/admin.py:1387 cps/admin.py:1388
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1380
+#: cps/admin.py:1391
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1447 cps/admin.py:1568
+#: cps/admin.py:1458 cps/admin.py:1579
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/admin.py:1451
+#: cps/admin.py:1462
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
-#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545
+#: cps/admin.py:1466 cps/admin.py:1594 cps/web.py:1504 cps/web.py:1565
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1487 cps/templates/admin.html:94
+#: cps/admin.py:1498 cps/templates/admin.html:94
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1506
+#: cps/admin.py:1517
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1532
+#: cps/admin.py:1543
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1535
+#: cps/admin.py:1546
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1537
+#: cps/admin.py:1548
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1539
+#: cps/admin.py:1550
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1580
+#: cps/admin.py:1591
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1586 cps/web.py:1424
+#: cps/admin.py:1597 cps/web.py:1444
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/admin.py:1597
+#: cps/admin.py:1608
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1663
+#: cps/admin.py:1674
msgid "Requesting update package"
msgstr ""
-#: cps/admin.py:1664
+#: cps/admin.py:1675
msgid "Downloading update package"
msgstr ""
-#: cps/admin.py:1665
+#: cps/admin.py:1676
msgid "Unzipping update package"
msgstr ""
-#: cps/admin.py:1666
+#: cps/admin.py:1677
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1667
+#: cps/admin.py:1678
msgid "Database connections are closed"
msgstr ""
-#: cps/admin.py:1668
+#: cps/admin.py:1679
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1669
+#: cps/admin.py:1680
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673
-#: cps/admin.py:1674
+#: cps/admin.py:1681 cps/admin.py:1682 cps/admin.py:1683 cps/admin.py:1684
+#: cps/admin.py:1685
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
+#: cps/admin.py:1681 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570
+#: cps/admin.py:1682 cps/updater.py:358 cps/updater.py:570
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572
+#: cps/admin.py:1683 cps/updater.py:360 cps/updater.py:572
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574
+#: cps/admin.py:1684 cps/updater.py:362 cps/updater.py:574
msgid "General error"
msgstr ""
-#: cps/admin.py:1674
+#: cps/admin.py:1685
msgid "Update File Could Not be Saved in Temp Dir"
msgstr ""
-#: cps/admin.py:1735
+#: cps/admin.py:1746
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1748
+#: cps/admin.py:1759
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1752
+#: cps/admin.py:1763
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1785
+#: cps/admin.py:1796
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1787
+#: cps/admin.py:1798
msgid "{} User Successfully Imported"
msgstr ""
@@ -460,7 +460,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:642 cps/web.py:1138
+#: cps/db.py:651 cps/web.py:657 cps/web.py:1156
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -473,8 +473,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671
-#: cps/web.py:1707 cps/web.py:1778
+#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:516 cps/web.py:1697
+#: cps/web.py:1738 cps/web.py:1809
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -511,7 +511,7 @@ msgstr ""
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632
+#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1658
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -644,68 +644,68 @@ msgstr ""
msgid "Deleting book %(id)s failed: %(message)s"
msgstr ""
-#: cps/helper.py:334
+#: cps/helper.py:335
#, python-format
-msgid "Deleting book %(id)s, book path not valid: %(path)s"
+msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s"
msgstr ""
-#: cps/helper.py:389
+#: cps/helper.py:390
#, python-format
msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:404
+#: cps/helper.py:405
#, python-format
msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s"
msgstr ""
-#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447
+#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448
#, python-format
msgid "File %(file)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:468
+#: cps/helper.py:469
#, python-format
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:511 cps/web.py:1627
+#: cps/helper.py:512 cps/web.py:1653
msgid "Found an existing account for this e-mail address"
msgstr ""
-#: cps/helper.py:519
+#: cps/helper.py:520
msgid "This username is already taken"
msgstr ""
-#: cps/helper.py:529
+#: cps/helper.py:530
msgid "Invalid e-mail address format"
msgstr ""
-#: cps/helper.py:602
+#: cps/helper.py:603
msgid "Error Downloading Cover"
msgstr ""
-#: cps/helper.py:605
+#: cps/helper.py:606
msgid "Cover Format Error"
msgstr ""
-#: cps/helper.py:615
+#: cps/helper.py:616
msgid "Failed to create path for cover"
msgstr ""
-#: cps/helper.py:631
+#: cps/helper.py:632
msgid "Cover-file is not a valid image file, or could not be stored"
msgstr ""
-#: cps/helper.py:642
+#: cps/helper.py:643
msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
-#: cps/helper.py:655
+#: cps/helper.py:656
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:707
+#: cps/helper.py:708
msgid "Unrar binary file not found"
msgstr ""
@@ -746,7 +746,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517
+#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1537
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
@@ -812,7 +812,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:85
-#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564
+#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1584
msgid "Login"
msgstr ""
@@ -828,7 +828,7 @@ msgstr ""
msgid "Success! Please return to your device"
msgstr ""
-#: cps/render_template.py:39 cps/web.py:415
+#: cps/render_template.py:39 cps/web.py:418
msgid "Books"
msgstr ""
@@ -853,7 +853,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:432
msgid "Top Rated Books"
msgstr ""
@@ -862,7 +862,7 @@ msgid "Show Top Rated Books"
msgstr ""
#: cps/render_template.py:59 cps/templates/index.xml:54
-#: cps/templates/index.xml:58 cps/web.py:651
+#: cps/templates/index.xml:58 cps/web.py:666
msgid "Read Books"
msgstr ""
@@ -871,7 +871,7 @@ msgid "Show read and unread"
msgstr ""
#: cps/render_template.py:63 cps/templates/index.xml:61
-#: cps/templates/index.xml:65 cps/web.py:654
+#: cps/templates/index.xml:65 cps/web.py:669
msgid "Unread Books"
msgstr ""
@@ -889,7 +889,7 @@ msgid "Show Random Books"
msgstr ""
#: cps/render_template.py:69 cps/templates/book_table.html:54
-#: cps/templates/index.xml:83 cps/web.py:1025
+#: cps/templates/index.xml:83 cps/web.py:1043
msgid "Categories"
msgstr ""
@@ -899,7 +899,7 @@ msgstr ""
#: cps/render_template.py:72 cps/templates/book_edit.html:88
#: cps/templates/book_table.html:55 cps/templates/index.xml:90
-#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932
+#: cps/templates/search_form.html:68 cps/web.py:940 cps/web.py:950
msgid "Series"
msgstr ""
@@ -917,7 +917,7 @@ msgid "Show author selection"
msgstr ""
#: cps/render_template.py:79 cps/templates/book_table.html:59
-#: cps/templates/index.xml:76 cps/web.py:899
+#: cps/templates/index.xml:76 cps/web.py:917
msgid "Publishers"
msgstr ""
@@ -927,7 +927,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:57
#: cps/templates/index.xml:97 cps/templates/search_form.html:106
-#: cps/web.py:1002
+#: cps/web.py:1020
msgid "Languages"
msgstr ""
@@ -951,7 +951,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:678
+#: cps/render_template.py:93 cps/web.py:693
msgid "Archived Books"
msgstr ""
@@ -959,7 +959,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:752
+#: cps/render_template.py:97 cps/web.py:768
msgid "Books List"
msgstr ""
@@ -967,98 +967,101 @@ msgstr ""
msgid "Show Books List"
msgstr ""
-#: cps/shelf.py:69 cps/shelf.py:124
+#: cps/shelf.py:69 cps/shelf.py:123
msgid "Invalid shelf specified"
msgstr ""
#: cps/shelf.py:75
-#, python-format
-msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s"
+msgid "Sorry you are not allowed to add a book to that shelf"
msgstr ""
-#: cps/shelf.py:85
+#: cps/shelf.py:84
#, python-format
msgid "Book is already part of the shelf: %(shelfname)s"
msgstr ""
-#: cps/shelf.py:110
+#: cps/shelf.py:109
#, python-format
msgid "Book has been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:129
+#: cps/shelf.py:128
#, python-format
msgid "You are not allowed to add a book to the the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:147
+#: cps/shelf.py:146
#, python-format
msgid "Books are already part of the shelf: %(name)s"
msgstr ""
-#: cps/shelf.py:159
+#: cps/shelf.py:158
#, python-format
msgid "Books have been added to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:166
+#: cps/shelf.py:165
#, python-format
msgid "Could not add books to shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:212
+#: cps/shelf.py:211
#, python-format
msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:221
+#: cps/shelf.py:220
#, python-format
msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
msgstr ""
-#: cps/shelf.py:231 cps/templates/layout.html:141
+#: cps/shelf.py:230 cps/templates/layout.html:141
msgid "Create a Shelf"
msgstr ""
#: cps/shelf.py:238
+msgid "Sorry you are not allowed to edit this shelf"
+msgstr ""
+
+#: cps/shelf.py:240
msgid "Edit a shelf"
msgstr ""
-#: cps/shelf.py:257
+#: cps/shelf.py:259
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
-#: cps/shelf.py:260
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
-#: cps/shelf.py:274
+#: cps/shelf.py:276
msgid "There was an error"
msgstr ""
-#: cps/shelf.py:296
+#: cps/shelf.py:298
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:309
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:378
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
-#: cps/shelf.py:442
+#: cps/shelf.py:448
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
-#: cps/shelf.py:446
+#: cps/shelf.py:452
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
@@ -1091,185 +1094,180 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:435
+#: cps/templates/index.html:5 cps/web.py:442
msgid "Discover (Random Books)"
msgstr ""
-#: cps/web.py:461
+#: cps/web.py:468
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:494
+#: cps/web.py:501
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:523
+#: cps/web.py:532
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:538
+#: cps/web.py:547
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:551
+#: cps/web.py:560
#, python-format
msgid "Series: %(serie)s"
msgstr ""
-#: cps/web.py:564
+#: cps/web.py:573
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:577
+#: cps/web.py:586
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:593
+#: cps/web.py:602
#, python-format
msgid "Category: %(name)s"
msgstr ""
-#: cps/web.py:612
+#: cps/web.py:621
#, python-format
msgid "Language: %(name)s"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352
+#: cps/templates/layout.html:56 cps/web.py:727 cps/web.py:1372
msgid "Advanced Search"
msgstr ""
#: cps/templates/book_edit.html:237 cps/templates/feed.xml:33
#: cps/templates/index.xml:11 cps/templates/layout.html:45
#: cps/templates/layout.html:48 cps/templates/search_form.html:225
-#: cps/web.py:724 cps/web.py:1060
+#: cps/web.py:740 cps/web.py:1078
msgid "Search"
msgstr ""
-#: cps/templates/admin.html:16 cps/web.py:877
+#: cps/templates/admin.html:16 cps/web.py:895
msgid "Downloads"
msgstr ""
-#: cps/web.py:953
+#: cps/web.py:971
msgid "Ratings list"
msgstr ""
-#: cps/web.py:974
+#: cps/web.py:992
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039
+#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1057
msgid "Tasks"
msgstr ""
-#: cps/web.py:1198
+#: cps/web.py:1216
msgid "Published after "
msgstr ""
-#: cps/web.py:1205
+#: cps/web.py:1223
msgid "Published before "
msgstr ""
-#: cps/web.py:1227
+#: cps/web.py:1245
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1229
+#: cps/web.py:1247
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1231
+#: cps/web.py:1249
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1334
+#: cps/web.py:1354
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1429
+#: cps/web.py:1449
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1433
+#: cps/web.py:1453
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1435
+#: cps/web.py:1455
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1452
+#: cps/web.py:1472
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453
-#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489
-#: cps/web.py:1495
+#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1473
+#: cps/web.py:1480 cps/web.py:1486 cps/web.py:1505 cps/web.py:1509
+#: cps/web.py:1515
msgid "Register"
msgstr ""
-#: cps/web.py:1487
+#: cps/web.py:1507
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1490
+#: cps/web.py:1510
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1507
+#: cps/web.py:1527
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1524
+#: cps/web.py:1544
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1530
+#: cps/web.py:1550
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1534 cps/web.py:1558
+#: cps/web.py:1554 cps/web.py:1578
msgid "Wrong Username or Password"
msgstr ""
-#: cps/web.py:1541
+#: cps/web.py:1561
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1547
+#: cps/web.py:1567
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1553
+#: cps/web.py:1573
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1609 cps/web.py:1656
+#: cps/web.py:1633 cps/web.py:1682
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:1623
+#: cps/web.py:1649
msgid "Profile updated"
msgstr ""
-#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692
-#: cps/web.py:1699 cps/web.py:1704
-msgid "Read a Book"
-msgstr ""
-
#: cps/services/gmail.py:41
msgid "Found no valid gmail.json file with OAuth information"
msgstr ""
@@ -1533,7 +1531,7 @@ msgstr ""
#: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64
#: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117
#: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96
-#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136
msgid "Cancel"
msgstr ""
@@ -1682,12 +1680,12 @@ msgid "Published Date"
msgstr ""
#: cps/templates/book_edit.html:121 cps/templates/book_edit.html:287
-#: cps/templates/book_edit.html:304 cps/templates/detail.html:164
+#: cps/templates/book_edit.html:304 cps/templates/detail.html:165
#: cps/templates/search_form.html:15
msgid "Publisher"
msgstr ""
-#: cps/templates/book_edit.html:125 cps/templates/detail.html:131
+#: cps/templates/book_edit.html:125 cps/templates/detail.html:132
#: cps/templates/user_edit.html:32
msgid "Language"
msgstr ""
@@ -1717,7 +1715,7 @@ msgstr ""
#: cps/templates/book_edit.html:214 cps/templates/config_db.html:52
#: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150
#: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24
-#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134
msgid "Save"
msgstr ""
@@ -2182,35 +2180,35 @@ msgstr ""
msgid "Default Settings for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93
+#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92
msgid "Admin User"
msgstr ""
-#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98
+#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97
msgid "Allow Downloads"
msgstr ""
-#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102
+#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105
msgid "Allow Uploads"
msgstr ""
-#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109
msgid "Allow Edit"
msgstr ""
-#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118
msgid "Allow Changing Password"
msgstr ""
-#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122
msgid "Allow Editing Public Shelves"
msgstr ""
@@ -2218,12 +2216,12 @@ msgstr ""
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80
#: cps/templates/user_table.html:152
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83
msgid "Add Allowed/Denied Tags"
msgstr ""
@@ -2240,56 +2238,53 @@ msgid "Listen in Browser"
msgstr ""
#: cps/templates/detail.html:125
-msgid "Book"
+#, python-format
+msgid "Book %(index)s of %(range)s"
msgstr ""
-#: cps/templates/detail.html:125
-msgid "of"
-msgstr ""
-
-#: cps/templates/detail.html:173
+#: cps/templates/detail.html:174
msgid "Published"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Unread"
msgstr ""
-#: cps/templates/detail.html:218
+#: cps/templates/detail.html:219
msgid "Mark As Read"
msgstr ""
-#: cps/templates/detail.html:219
+#: cps/templates/detail.html:220
msgid "Read"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Restore from archive"
msgstr ""
-#: cps/templates/detail.html:227
+#: cps/templates/detail.html:228
msgid "Add to archive"
msgstr ""
-#: cps/templates/detail.html:228
+#: cps/templates/detail.html:229
msgid "Archived"
msgstr ""
-#: cps/templates/detail.html:239
+#: cps/templates/detail.html:240
msgid "Description:"
msgstr ""
-#: cps/templates/detail.html:252 cps/templates/search.html:14
+#: cps/templates/detail.html:253 cps/templates/search.html:14
msgid "Add to shelf"
msgstr ""
-#: cps/templates/detail.html:263 cps/templates/detail.html:280
+#: cps/templates/detail.html:264 cps/templates/detail.html:281
#: cps/templates/feed.xml:79 cps/templates/layout.html:138
#: cps/templates/search.html:20
msgid "(Public)"
msgstr ""
-#: cps/templates/detail.html:294
+#: cps/templates/detail.html:295
msgid "Edit Metadata"
msgstr ""
@@ -2639,10 +2634,18 @@ msgstr ""
msgid "Calibre-Web eBook Catalog"
msgstr ""
+#: cps/templates/read.html:6
+msgid "epub Reader"
+msgstr ""
+
#: cps/templates/read.html:74
msgid "Reflow text when sidebars are open."
msgstr ""
+#: cps/templates/readcbr.html:7
+msgid "Comic Reader"
+msgstr ""
+
#: cps/templates/readcbr.html:89
msgid "Keyboard Shortcuts"
msgstr ""
@@ -2759,12 +2762,16 @@ msgstr ""
msgid "Hide"
msgstr ""
+#: cps/templates/readdjvu.html:10
+msgid "DJVU Reader"
+msgstr ""
+
#: cps/templates/readpdf.html:29
-msgid "PDF reader"
+msgid "PDF Reader"
msgstr ""
#: cps/templates/readtxt.html:6
-msgid "Basic txt Reader"
+msgid "txt Reader"
msgstr ""
#: cps/templates/register.html:4
@@ -2991,15 +2998,15 @@ msgstr ""
msgid "Create/View"
msgstr ""
-#: cps/templates/user_edit.html:85
+#: cps/templates/user_edit.html:84
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:129
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167
+#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167
msgid "Delete User"
msgstr ""
@@ -3084,7 +3091,7 @@ msgid "Edit Public Shelves"
msgstr ""
#: cps/templates/user_table.html:150
-msgid "Sync Selected Shelves with Kobo"
+msgid "Sync selected Shelves with Kobo"
msgstr ""
#: cps/templates/user_table.html:154