diff --git a/SECURITY.md b/SECURITY.md
index afaf9b0b..a7113785 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -23,7 +23,7 @@ To receive fixes for security vulnerabilities it is required to always upgrade t
| V 0.6.13|JavaScript could get executed in the description series, categories or publishers title||
| V 0.6.13|JavaScript could get executed in the shelf title||
| V 0.6.13|Login with the old session cookie after logout. Thanks to @ibarrionuevo||
-| V 0.6.14|CSRF was possible. Thanks to @mik317 and Hagai Wechsler (WhiteSource) ||
+| V 0.6.14|CSRF was possible. Thanks to @mik317 and Hagai Wechsler (WhiteSource) |CVE-2021-25965|
| V 0.6.14|Cross-Site Scripting vulnerability on typeahead inputs. Thanks to @notdodo||
diff --git a/cps/admin.py b/cps/admin.py
index 068ac356..f104aa29 100644
--- a/cps/admin.py
+++ b/cps/admin.py
@@ -1575,7 +1575,7 @@ def edit_user(user_id):
if not content or (not config.config_anonbrowse and content.name == "Guest"):
flash(_(u"User not found"), category="error")
return redirect(url_for('admin.admin'))
- languages = calibre_db.speaking_language()
+ languages = calibre_db.speaking_language(return_all_languages=True)
translations = babel.list_translations() + [LC('en')]
kobo_support = feature_support['kobo'] and config.config_kobo_sync
if request.method == "POST":
diff --git a/cps/db.py b/cps/db.py
index 800fb3dd..4e76072d 100644
--- a/cps/db.py
+++ b/cps/db.py
@@ -612,7 +612,7 @@ class CalibreDB():
return self.session.query(Data).filter(Data.book == book_id).filter(Data.format == file_format).first()
# Language and content filters for displaying in the UI
- def common_filters(self, allow_show_archived=False):
+ def common_filters(self, allow_show_archived=False, return_all_languages=False):
if not allow_show_archived:
archived_books = (
ub.session.query(ub.ArchivedBook)
@@ -625,10 +625,10 @@ class CalibreDB():
else:
archived_filter = true()
- if current_user.filter_language() != "all":
- lang_filter = Books.languages.any(Languages.lang_code == current_user.filter_language())
- else:
+ if current_user.filter_language() == "all" or return_all_languages:
lang_filter = true()
+ else:
+ lang_filter = Books.languages.any(Languages.lang_code == current_user.filter_language())
negtags_list = current_user.list_denied_tags()
postags_list = current_user.list_allowed_tags()
neg_content_tags_filter = false() if negtags_list == [''] else Books.tags.any(Tags.name.in_(negtags_list))
@@ -796,18 +796,19 @@ class CalibreDB():
return result[offset:limit_all], result_count, pagination
# Creates for all stored languages a translated speaking name in the array for the UI
- def speaking_language(self, languages=None):
+ def speaking_language(self, languages=None, return_all_languages=False, reverse_order=False):
from . import get_locale
if not languages:
languages = self.session.query(Languages) \
.join(books_languages_link) \
.join(Books) \
- .filter(self.common_filters()) \
+ .filter(self.common_filters(return_all_languages=return_all_languages)) \
.group_by(text('books_languages_link.lang_code')).all()
for lang in languages:
lang.name = isoLanguages.get_language_name(get_locale(), lang.lang_code)
- return languages
+ return sorted(languages, key=lambda x: x.name, reverse=reverse_order)
+
def update_title_sort(self, config, conn=None):
# user defined sort function for calibre databases (Series, etc.)
diff --git a/cps/editbooks.py b/cps/editbooks.py
index 3403f46f..929aa1a7 100644
--- a/cps/editbooks.py
+++ b/cps/editbooks.py
@@ -114,7 +114,7 @@ def search_objects_add(db_book_object, db_type, input_elements):
type_elements = c_elements.value
else:
type_elements = c_elements.name
- if inp_element.lower() == type_elements.lower(): # Lowercase check
+ if inp_element == type_elements:
found = True
break
if not found:
diff --git a/cps/iso_language_names.py b/cps/iso_language_names.py
index 07848b9c..11e5e67b 100644
--- a/cps/iso_language_names.py
+++ b/cps/iso_language_names.py
@@ -112,6 +112,7 @@ LANGUAGE_NAMES = {
"elx": "elamština",
"eng": "Angličtina",
"enm": "Angličtina; středověká (1100-1500)",
+ "enu": "Enu",
"epo": "esperanto",
"est": "estonština",
"eus": "baskičtina",
@@ -533,6 +534,7 @@ LANGUAGE_NAMES = {
"elx": "Elamisch",
"eng": "Englisch",
"enm": "Mittelenglisch",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estnisch",
"eus": "Baskisch",
@@ -945,6 +947,7 @@ LANGUAGE_NAMES = {
"eka": "Ekajuk",
"elx": "Elamite",
"eng": "Αγγλικά",
+ "enu": "Enu",
"myv": "Erzya",
"epo": "Εσπεράντο",
"est": "Εσθονικά",
@@ -1330,6 +1333,7 @@ LANGUAGE_NAMES = {
"elx": "Elamita",
"eng": "Inglés",
"enm": "Inglés medio (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estonio",
"eus": "Vasco",
@@ -1751,6 +1755,7 @@ LANGUAGE_NAMES = {
"elx": "elami",
"eng": "englanti",
"enm": "keskienglanti",
+ "enu": "Enu",
"epo": "esperanto",
"est": "viro",
"eus": "baski",
@@ -2172,6 +2177,7 @@ LANGUAGE_NAMES = {
"elx": "élamite",
"eng": "anglais",
"enm": "anglais moyen (1100-1500)",
+ "enu": "enu",
"epo": "espéranto",
"est": "estonien",
"eus": "basque",
@@ -2593,6 +2599,7 @@ LANGUAGE_NAMES = {
"elx": "elamita",
"eng": "angol",
"enm": "angol; középkori (1100-1500)",
+ "enu": "Enu",
"epo": "eszperantó",
"est": "észt",
"eus": "Baszk",
@@ -3014,6 +3021,7 @@ LANGUAGE_NAMES = {
"elx": "Elamitico",
"eng": "Inglese",
"enm": "Inglese medio (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estone",
"eus": "Basco",
@@ -3435,6 +3443,7 @@ LANGUAGE_NAMES = {
"elx": "エラム語",
"eng": "英語",
"enm": "英語; 中世 (1100-1500)",
+ "enu": "Enu",
"epo": "エスペラント",
"est": "エストニア語",
"eus": "バスク語",
@@ -3856,6 +3865,7 @@ LANGUAGE_NAMES = {
"elx": "Elamite",
"eng": "English",
"enm": "English; Middle (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estonian",
"eus": "Basque",
@@ -4277,6 +4287,7 @@ LANGUAGE_NAMES = {
"elx": "Elamitisch",
"eng": "Engels",
"enm": "Engels; middel (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estlands",
"eus": "Baskisch",
@@ -4698,6 +4709,7 @@ LANGUAGE_NAMES = {
"elx": "elamicki",
"eng": "Angielski",
"enm": "angielski średniowieczny (1100-1500)",
+ "enu": "Enu",
"epo": "esperanto",
"est": "estoński",
"eus": "baskijski",
@@ -5110,6 +5122,7 @@ LANGUAGE_NAMES = {
"eka": "Ekajuk",
"elx": "Elamite",
"eng": "Inglês",
+ "enu": "Enu",
"myv": "Erzya",
"epo": "Esperanto",
"est": "Estónio",
@@ -5493,6 +5506,7 @@ LANGUAGE_NAMES = {
"elx": "Эламский",
"eng": "Английский",
"enm": "Среднеанглийский (1100-1500)",
+ "enu": "Enu",
"epo": "Эсперанто",
"est": "Эстонский",
"eus": "Баскский",
@@ -5914,6 +5928,7 @@ LANGUAGE_NAMES = {
"elx": "Elamitiska",
"eng": "Engelska",
"enm": "Medelengelska (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estniska",
"eus": "Baskiska",
@@ -6326,6 +6341,7 @@ LANGUAGE_NAMES = {
"eka": "Ekajuk (Afrika)",
"elx": "Elamca",
"eng": "İngilizce",
+ "enu": "Enu",
"myv": "Erzya dili",
"epo": "Esperanto",
"est": "Estonca",
@@ -6709,6 +6725,7 @@ LANGUAGE_NAMES = {
"elx": "еламська",
"eng": "англійська",
"enm": "середньоанглійська (1100-1500)",
+ "enu": "ену",
"epo": "есперанто",
"est": "естонська",
"eus": "баскська",
@@ -7130,6 +7147,7 @@ LANGUAGE_NAMES = {
"elx": "埃兰语",
"eng": "英语",
"enm": "英语(中古,1100-1500)",
+ "enu": "Enu",
"epo": "世界语",
"est": "爱沙尼亚语",
"eus": "巴斯克语",
@@ -7542,6 +7560,7 @@ LANGUAGE_NAMES = {
"eka": "Ekajuk",
"elx": "Elamite",
"eng": "英文",
+ "enu": "Enu",
"myv": "Erzya",
"epo": "世界語",
"est": "愛沙尼亞文",
@@ -7925,6 +7944,7 @@ LANGUAGE_NAMES = {
"elx": "Elamite",
"eng": "English",
"enm": "English; Middle (1100-1500)",
+ "enu": "Enu",
"epo": "Esperanto",
"est": "Estonian",
"eus": "Basque",
diff --git a/cps/templates/languages.html b/cps/templates/languages.html
index 2b482e19..771d77cf 100644
--- a/cps/templates/languages.html
+++ b/cps/templates/languages.html
@@ -1,19 +1,35 @@
{% extends "layout.html" %}
{% block body %}
{{title}}
+
-
+
{% for lang in languages %}
{% if loop.index0 == (loop.length/2)|int and loop.length > 20 %}
-
-
+
+
{% endif %}
-
+
{{lang_counter[loop.index0].bookcount}}
{% endfor %}
-
+
{% endblock %}
+{% block js %}
+
+{% endblock %}
diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo
index 2168e8be..d03dc08c 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 3c8875ed..6a670547 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-06-09 21:11+0100\n"
"Last-Translator: Lukas Heroudek
\n"
"Language: cs_CZ\n"
@@ -15,17 +15,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "není nainstalováno"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "nainstalováno"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistika"
@@ -64,17 +64,17 @@ msgstr "Základní konfigurace"
msgid "UI Configuration"
msgstr "Konfigurace uživatelského rozhraní"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Uživatel admin"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Vše"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Uživatel nenalezen"
@@ -82,7 +82,7 @@ msgstr "Uživatel nenalezen"
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Zobrazit vše"
@@ -91,7 +91,7 @@ msgstr "Zobrazit vše"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Nezbývá žádný správce, nelze odebrat roli správce"
@@ -271,9 +271,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -303,7 +303,7 @@ msgstr "Nastavení e-mailového serveru aktualizováno"
msgid "Database Configuration"
msgstr "Konfigurace funkcí"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Vyplňte všechna pole!"
@@ -311,167 +311,167 @@ msgstr "Vyplňte všechna pole!"
msgid "E-mail is not from valid domain"
msgstr "E-mail není z platné domény"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Přidat nového uživatele"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Uživatel '%(user)s' vytvořen"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Uživatel '%(nick)s' smazán"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Nezbývá žádný správce, nemůžete jej odstranit"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Upravit uživatele %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Uživatel '%(nick)s' aktualizován"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Neznámá chyba. Opakujte prosím později."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Změnit SMTP nastavení"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Prvně nastavte svou e-mailovou adresu..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Nastavení e-mailového serveru aktualizováno"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Heslo pro uživatele %(user)s resetováno"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Prohlížeč log souborů"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Požadování balíčku aktualizace"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Stahování balíčku aktualizace"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Rozbalování balíčku aktualizace"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Nahrazování souborů"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Databázová připojení jsou uzavřena"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Zastavuji server"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Aktualizace selhala:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP chyba"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Chyba připojení"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Vypršel časový limit při navazování spojení"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Všeobecná chyba"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Chyba: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Chyba: Žádná reakce od uživatele LDAP serveru"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -483,7 +483,7 @@ msgstr "není nakonfigurováno"
msgid "Execution permissions missing"
msgstr "Chybí povolení k exekuci"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Vlastní sloupec %(column)d neexistuje v databázi"
@@ -496,8 +496,8 @@ msgstr "Formát knihy úspěšně smazán"
msgid "Book Successfully Deleted"
msgstr "Kniha úspěšně smazána"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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ý"
@@ -534,7 +534,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Chyba databáze: %(error)s."
@@ -692,7 +692,7 @@ msgstr "Soubor %(file)s nenalezen na Google Drive"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu."
@@ -726,34 +726,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Unrar binární soubor nenalezen"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Chyba provádění UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Čekám"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Selhalo"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Spuštěno"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Dokončeno"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Neznámý stav"
@@ -770,7 +774,7 @@ msgstr "Kobo nastavení"
msgid "Register with %(provider)s"
msgstr "Registrovat s %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "nyní jste přihlášen jako: '%(nickname)s'"
@@ -836,7 +840,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Přihlásit"
@@ -852,7 +856,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Knihy"
@@ -877,7 +881,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Nejlépe hodnocené knihy"
@@ -886,7 +890,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Přečtené knihy"
@@ -895,7 +899,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Nepřečtené knihy"
@@ -913,7 +917,7 @@ msgid "Show Random Books"
msgstr "Zobrazit náhodné knihy"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategorie"
@@ -923,7 +927,7 @@ msgstr "Zobrazit výběr kategorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Série"
@@ -941,7 +945,7 @@ msgid "Show author selection"
msgstr "Zobrazit výběr autora"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Vydavatelé"
@@ -951,7 +955,7 @@ msgstr "Zobrazit výběr vydavatele"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Jazyky"
@@ -975,7 +979,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Archivované knihy"
@@ -983,7 +987,7 @@ msgstr "Archivované knihy"
msgid "Show archived books"
msgstr "Zobrazit archivované knihy"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1011,9 +1015,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Kniha byla přidána do police: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1036,58 +1039,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Kniha byla odebrána z police: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Vytvořit polici"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Upravit polici"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Police %(title)s vytvořena"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Police %(title)s změněna"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Došlo k chybě"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Změnit pořadí Police: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Police: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Chyba otevírání police. Police neexistuje nebo není přístupná"
@@ -1120,177 +1126,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Objevte (Náhodné knihy)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Žhavé knihy (Nejstahovanější)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Autoři: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Vydavatel: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Hodnocení: %(rating)s stars"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Soubor formátů: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Jazyky: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Rozšířené hledání"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Hledat"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Stáhnutí"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Seznam hodnocení"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Seznam formátů"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Úlohy"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Vydáno po "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Vydáno před "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Hodnocení <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Hodnocení >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registrovat"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Váš e-mail nemá povolení k registraci"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Potvrzovací e-mail byl odeslán na váš účet."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Nelze aktivovat ověření LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nelze se přihlásit: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Špatné uživatelské jméno nebo heslo"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Nové heslo bylo zasláno na vaši emailovou adresu"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Zadejte platné uživatelské jméno pro obnovení hesla"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Nyní jste přihlášeni jako: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profil"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profil aktualizován"
@@ -1303,31 +1309,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre převaděč %(tool)s nenalezen"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify-převaděč selhal: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Převedený soubor nebyl nalezen nebo více než jeden soubor ve složce %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Převaděč eknih selhal: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1361,212 +1367,212 @@ msgstr "Správce"
msgid "Password"
msgstr "Heslo"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Nahrávat"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Stahovat"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Prohlížení knih"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Upravovat"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Smazat"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Veřejná police"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Přidat nového uživatele"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importovat LDAP uživatele"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Nastavení e-mailového serveru SMTP"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP hostitel"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP port"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Šifrování"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP přihlášení"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Z e-mailu"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Konfigurace"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre DB adresář"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Úroveň logu"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Knihy na stránku"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Nahrávání"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Anonymní prohlížení"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Veřejná registrace"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Magic Link vzdálené přihlášení"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Reverzní proxy přihlášení"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Název záhlaví reverzního proxy"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Upravit základní konfiguraci"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Upravit základní konfiguraci"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Upravit konfiguraci uživatelského rozhraní"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Správa"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Zobrazit log"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Znovupřipojení ke Calibre databázi"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Restartovat"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Vypnout"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Aktualizovat"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Verze"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Detaily"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Současná verze"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Zkontrolovat aktualizace"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Provést aktualizaci"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Opravdu chcete restartovat?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Zrušit"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Opravdu chcete vypnout?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Probíhá aktualizace, prosím nenačítejte stránku znovu"
@@ -1578,39 +1584,39 @@ msgstr "přes"
msgid "In Library"
msgstr "V knihovně"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "redukovat"
@@ -1740,9 +1746,9 @@ msgid "Fetch Metadata"
msgstr "Získat metadata"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Uložit"
@@ -1765,7 +1771,7 @@ msgstr "Načítání..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Zavřít"
@@ -2246,50 +2252,50 @@ msgstr "Povolit stahování"
msgid "Allow eBook Viewer"
msgstr "Povolit prohlížeč knih"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Povolit nahrávání"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Povolit úpravy"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Povolit mazání knih"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Povolit změnu hesla"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Povolit úpravy veřejných polic"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Vynechat jazyky"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Zobrazit knihy s jazykem"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Výchozí zobrazení pro nové uživatele"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Zobrazit náhodné knihy v podrobném zobrazení"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Přidat povolené/zakázané štítky"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Přidat povolené/zakázané hodnoty vlastních sloupců"
@@ -2443,21 +2449,29 @@ msgstr "Zpět domů"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3066,15 +3080,15 @@ msgstr "Vytvořit/Prohlížet"
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:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Odstranit tohoto uživatele"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Vygenerovat URL pro Kobo Auth"
diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo
index 4ad26e6b..88ec0827 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 823c2aa7..a1b69d0c 100644
--- a/cps/translations/de/LC_MESSAGES/messages.po
+++ b/cps/translations/de/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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2021-08-01 17:24+0200\n"
"Last-Translator: Ozzie Isaacs\n"
"Language: de\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "Nicht installiert"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "Installiert"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistiken"
@@ -65,16 +65,16 @@ msgstr "Basiskonfiguration"
msgid "UI Configuration"
msgstr "Benutzeroberflächenkonfiguration"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "Benutzer bearbeiten"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Alle"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Benutzer nicht gefunden"
@@ -82,7 +82,7 @@ msgstr "Benutzer nicht gefunden"
msgid "{} users deleted successfully"
msgstr "{} Benutzer erfolgreich gelöscht"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Zeige alle"
@@ -91,7 +91,7 @@ msgstr "Zeige alle"
msgid "Malformed request"
msgstr "Ungültige Anfrage"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Guest Name kann nicht geändert werden"
@@ -99,7 +99,7 @@ msgstr "Guest Name kann nicht geändert werden"
msgid "Guest can't have this role"
msgstr "Guest Benutzer kann diese Rolle nicht haben"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Kein Admin Benutzer verblieben Admin Berechtigung kann nicht entfernt werden"
@@ -266,9 +266,9 @@ msgstr "LDAP Member User Filter hat eine ungleiche Anzahl von geöffneten und ge
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "Einstellungsdatenbank ist nicht schreibbar"
@@ -297,7 +297,7 @@ msgstr "Einstellungen des E-Mail-Servers aktualisiert"
msgid "Database Configuration"
msgstr "Datenbank-Konfiguration"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Bitte alle Felder ausfüllen!"
@@ -305,166 +305,166 @@ msgstr "Bitte alle Felder ausfüllen!"
msgid "E-mail is not from valid domain"
msgstr "E-Mail bezieht sich nicht auf eine gültige Domain"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Neuen Benutzer hinzufügen"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Benutzer '%(user)s' angelegt"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Benutzer '%(nick)s' gelöscht"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "Guest Benutzer kann nicht gelöscht werden"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
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:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Benutzer %(nick)s bearbeiten"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Benutzer '%(nick)s' aktualisiert"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "SMTP-Einstellungen ändern"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account Verifikation erfolgreich"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Bitte zuerst E-Mail Adresse konfigurieren..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Einstellungen des E-Mail-Servers aktualisiert"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Bitte zuerst die SMTP-Einstellung konfigurieren ..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Logdatei Anzeige"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Frage Update an"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Lade Update herunter"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Entpacke Update"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Ersetze Dateien"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Schließe Datenbankverbindungen"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Stoppe Server"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Update fehlgeschlagen:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP Fehler"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Timeout beim Verbindungsaufbau"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Allgemeiner Fehler"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Updatedatei konnte nicht in Temporärem Ordner gespeichert werden"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fehler: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} Benutzer erfolgreich importiert"
@@ -476,7 +476,7 @@ msgstr "Nicht konfiguriert"
msgid "Execution permissions missing"
msgstr "Ausführeberechtigung fehlt"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -489,8 +489,8 @@ msgstr "Buch Format erfolgreich gelöscht"
msgid "Book Successfully Deleted"
msgstr "Buch erfolgreich gelöscht"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -527,7 +527,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Datenbankfehler: %(error)s."
@@ -685,7 +685,7 @@ msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse"
@@ -718,34 +718,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Es werden nur jpg/jpeg Dateien als Cover untertützt"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "UnRar Programm nicht gefunden"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Fehler beim ausführen von UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Wartend"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Fehlgeschlagen"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Gestartet"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Beendet"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Unbekannter Status"
@@ -762,7 +766,7 @@ msgstr "Kobo Setup"
msgid "Register with %(provider)s"
msgstr "Anmelden mit %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Du bist nun eingeloggt als '%(nickname)s'"
@@ -828,7 +832,7 @@ msgid "{} Stars"
msgstr "{} Sterne"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Login"
@@ -844,7 +848,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Bücher"
@@ -869,7 +873,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Best bewertete Bücher"
@@ -878,7 +882,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Gelesene Bücher"
@@ -887,7 +891,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Ungelesene Bücher"
@@ -905,7 +909,7 @@ msgid "Show Random Books"
msgstr "Zeige zufällige Bücher"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategorien"
@@ -915,7 +919,7 @@ msgstr "Zeige Kategorienauswahl"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Serien"
@@ -933,7 +937,7 @@ msgid "Show author selection"
msgstr "Zeige Autorenauswahl"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Verleger"
@@ -943,7 +947,7 @@ msgstr "Zeige Verlegerauswahl"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Sprachen"
@@ -967,7 +971,7 @@ msgstr "Dateiformate"
msgid "Show file formats selection"
msgstr "Zeige Dateiformatauswahl"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Archivierte Bücher"
@@ -975,7 +979,7 @@ msgstr "Archivierte Bücher"
msgid "Show archived books"
msgstr "Zeige archivierte Bücher"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Bücherliste"
@@ -1002,9 +1006,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Das Buch wurde dem Bücherregal %(sname)s hinzugefügt"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1027,57 +1030,60 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Das Buch wurde aus dem Bücherregal: %(sname)s entfernt"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Bücherregal erzeugen"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Dir ist es nicht erlaubt, dieses Bücherregal zu editieren"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Bücherregal editieren"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Bücherregal %(title)s erzeugt"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Bücherregal %(title)s verändert"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Es trat ein Fehler auf"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Reihenfolge in Bücherregal '%(name)s' verändern"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Bücherregal: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1110,177 +1116,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Entdecke (Zufällige Bücher)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Beliebte Bücher (am meisten Downloads)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Von %(user)s heruntergeladene Bücher"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Author: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Verleger: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Bewertung: %(rating)s Sterne"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Dateiformat: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategorie: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Sprache: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Erweiterte Suche"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Suche"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Bewertungsliste"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Liste der Dateiformate"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Aufgaben"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Herausgegeben nach dem "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Herausgegeben vor dem "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Bewertung <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Bewertung >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lesestatus = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Fehler bei der Suche nach eigenen Spalten, bitte Calibre-Web neustarten"
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registrieren"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "LDAP-Authentifizierung kann nicht aktiviert werden"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Login nicht erfolgreich: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Falscher Benutzername oder Passwort"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Das neue Passwort wurde an die E-Mail Adresse verschickt"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Bitte einen gültigen Benutzernamen zum Zurücksetzen des Passworts angeben"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Eingeloggt als: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's Profil"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profil aktualisiert"
@@ -1293,31 +1299,31 @@ msgstr "Keine gültige gmail.json Datei mit Oauth informationen gefunden"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre E-Book Konverter %(tool)s nicht gefunden"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "%(format)s Format nicht gefunden"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "EBook Converter mit unbekanntem Fehler fehlgeschlagen"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify Konverter Aufruf fehlgeschlagen: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Konvertierte Datei nicht gefunden, oder mehr als eine Datei im Pfad %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Fehler des EBook-Converters: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre fehlgeschlagen mit Fehler: %(error)s"
@@ -1351,211 +1357,211 @@ msgstr "Admin"
msgid "Password"
msgstr "Passwort"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Upload"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Download"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Bücher ansehen"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Editieren"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Löschen"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Öffentliches Bücherregal"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Neuen Benutzer hinzufügen"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "LDAP Benutzer importieren"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Einstellungen des SMTP-Servers"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP-Hostname"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP Port"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Verschlüsselung"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP-Login"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Absenderadresse"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "E-Mail Service"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail via Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Konfiguration"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Ordner der Calibre-DB"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Loglevel"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Externer Port"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Bücher pro Seite"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Hochladen"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Anonymes Durchsuchen"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Öffentliche Registrierung"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Remotelogin ('Magischer Link')"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Reverse Proxy Login"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Reverse Proxy Header Name"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr "Calibre Datenbank Konfiguration editieren"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Basiskonfiguration"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Benutzeroberflächenkonfiguration"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Administration"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Debug Daten herunterladen"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Logdateien ansehen"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Calibre-DB neu verbinden"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Neustart"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Calibre-Web beenden"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Update"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Details"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Aktuelle Version"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Nach Update suchen"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Update durchführen"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Calibre-Web wirklich neustarten?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Abbruch"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Calibre-Web wirklich anhalten?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Updatevorgang, Seite bitte nicht neu laden"
@@ -1567,39 +1573,39 @@ msgstr "via"
msgid "In Library"
msgstr "In Bibliothek"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Sortiere nach Buchdatum, Neuestes zuerst"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Sortiere nach Buchdatum, Aältestes zuerst"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Sortiere Titel in alphabetischer Reihenfolge"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Sortiere Titel in umgekehrt alphabetischer Reihenfolge"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Sortiere nach Herausgabedatum, Neueste zuerst"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Sortiere nach Herausgabedatum, Älteste zuerst"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "Reduzieren"
@@ -1729,9 +1735,9 @@ msgid "Fetch Metadata"
msgstr "Metadaten laden"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Speichern"
@@ -1754,7 +1760,7 @@ msgstr "Lade..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Schließen"
@@ -2234,50 +2240,50 @@ msgstr "Downloads erlauben"
msgid "Allow eBook Viewer"
msgstr "Anzeige von Büchern erlauben"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Hochladen erlauben"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Bearbeiten erlauben"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Löschen von Büchern erlauben"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Ändern des Passworts erlauben"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Editieren öffentlicher Bücherregale erlauben"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Sprachen ausschließen"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Zeige nur Bücher mit dieser Sprache"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Standard-Sichtbarkeiten für neue Benutzer"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Zeige zufällige Bücher in der Detailansicht"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Erlaubte/Verbotene Tags hinzufügen"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Erlaubte/Verbotene Calibre Spalten hinzufügen"
@@ -2430,21 +2436,29 @@ msgstr "Zurück zur Hauptseite"
msgid "Logout User"
msgstr "Benutzer ausloggem"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Sortiere Autoren in alphabetischer Reihenfolge"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Sortiere Autoren in umgekehrt alphabetischer Reihenfolge"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Sortiere Serienindex aufsteigend"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Sortiere Serienindex absteigend"
@@ -3046,15 +3060,15 @@ msgstr "Erzeugen/Ansehen"
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:134
msgid "Sync only books in selected shelves with Kobo"
msgstr "Nur Bücher aus ausgewählten Bücherregalen mit Kobo synchronisieren"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Benutzer löschen"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Kobo Auth URL erzeugen"
diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo
index fe3cf956..47ef4989 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 fad7c698..3e5b003d 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Depountis Georgios\n"
"Language: el\n"
@@ -15,17 +15,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "δεν εγκαταστάθηκε"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "εγκαταστάθηκε"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Στατιστικά"
@@ -64,17 +64,17 @@ msgstr "Βασική Διαμόρφωση"
msgid "UI Configuration"
msgstr "UI Διαμόρφωση"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Χρήστης Διαχειριστής"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Όλα"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Δεν βρέθηκε χρήστης"
@@ -82,7 +82,7 @@ msgstr "Δεν βρέθηκε χρήστης"
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Προβολή Όλων"
@@ -91,7 +91,7 @@ msgstr "Προβολή Όλων"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή"
@@ -271,9 +271,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "Οι ρυθμίσεις DB δεν μπορούν να Γραφτούν"
@@ -303,7 +303,7 @@ msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομισ
msgid "Database Configuration"
msgstr "Διαμόρφωση Λειτουργίας"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!"
@@ -311,167 +311,167 @@ msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!"
msgid "E-mail is not from valid domain"
msgstr "Το E-mail δεν είναι από έγκυρο domain"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Προσθήκη νέου χρήστη"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη."
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Επεξεργασία χρήστη %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s"
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Προβολέας αρχείου φύλλου καταγραφής"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Αίτημα πακέτου ενημέρωσης"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Κατεβάζει πακέτο ενημέρωσης"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Ανοίγει πακέτο ενημέρωσης"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Αντικατάσταση αρχείων"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Σταματάει το διακομιστή"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Η ενημέρωση απέτυχε:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP Σφάλμα"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Γενικό σφάλμα"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Σφάλμα: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -483,7 +483,7 @@ msgstr "δεν διαμορφώθηκε"
msgid "Execution permissions missing"
msgstr "Λείπουν άδειες εκτέλεσης"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "Η ειδικά προσαρμοσμένη στήλη No.%(column)d δεν υπάρχει στο επίπεδο βάσης δεδομένων"
@@ -496,8 +496,8 @@ msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς"
msgid "Book Successfully Deleted"
msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο"
@@ -534,7 +534,7 @@ msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η ά
msgid "Failed to store file %(file)s."
msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s."
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Σφάλμα βάσης δεδομένων: %(error)s."
@@ -692,7 +692,7 @@ msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail."
@@ -726,34 +726,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Δεν βρέθηκε δυαδικό αρχείο Unrar"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Σφάλμα εκτέλεσης UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Αναμονή"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Απέτυχε"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Ξεκίνησε"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Τελείωσε"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "ʼΑγνωστη κατάσταση"
@@ -770,7 +774,7 @@ msgstr "Καθορισμός Kobo"
msgid "Register with %(provider)s"
msgstr "Εγγραφή με %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "τώρα έχεις συνδεθεί ως: '%(nickname)s'"
@@ -836,7 +840,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Σύνδεση"
@@ -852,7 +856,7 @@ msgstr "Η μάρκα έχει λήξει"
msgid "Success! Please return to your device"
msgstr "Επιτυχία! Παρακαλούμε επέστρεψε στη συσκευή σου"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Βιβλία"
@@ -877,7 +881,7 @@ msgstr "Κατεβασμένα Βιβλία"
msgid "Show Downloaded Books"
msgstr "Προβολή Κατεβασμένων Βιβλίων"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Βιβλία με Κορυφαία Αξιολόγηση"
@@ -886,7 +890,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Βιβλία που Διαβάστηκαν"
@@ -895,7 +899,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Βιβλία που δεν Διαβάστηκαν"
@@ -913,7 +917,7 @@ msgid "Show Random Books"
msgstr "Προβολή Τυχαίων Βιβλίων"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Κατηγορίες"
@@ -923,7 +927,7 @@ msgstr "Προβολή επιλογών κατηγορίας"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Σειρές"
@@ -941,7 +945,7 @@ msgid "Show author selection"
msgstr "Προβολή επιλογών συγγραφέα"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Εκδότες"
@@ -951,7 +955,7 @@ msgstr "Προβολή επιλογών εκδότη"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Γλώσσες"
@@ -975,7 +979,7 @@ msgstr "Μορφές αρχείου"
msgid "Show file formats selection"
msgstr "Προβολή επιλογών μορφής αρχείου"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Αρχειοθετημένα Βιβλία"
@@ -983,7 +987,7 @@ msgstr "Αρχειοθετημένα Βιβλία"
msgid "Show archived books"
msgstr "Προβολή αρχειοθετημένων βιβλίων"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Λίστα Βιβλίων"
@@ -1011,9 +1015,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Το βιβλίο έχει προστεθεί στο ράφι: %(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
-msgstr "Δεν σου επιτρέπεται να προσθέσεις ένα βιβλίο στο ράφι: %(name)s"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1036,58 +1039,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Το βιβλίο έχει αφαιρεθεί από το ράφι: %(sname)s"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "Συγγνώμη αλλά δεν σου επιτρέπεται η αφαίρεση ενός βιβλίου από αυτό το ράφι: %(sname)s"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Δημιούργησε ένα Ράφι"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Συγγνώμη αλλά δεν σου επιτρέπεται η αφαίρεση ενός βιβλίου από αυτό το ράφι: %(sname)s"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Επεξεργασία ενός ραφιού"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Το ράφι %(title)s δημιουργήθηκε"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Το ράφι %(title)s άλλαξε"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Υπήρξε ένα σφάλμα"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Ένα δημόσιο ράφι με το όνομα '%(title)s' υπάρχει ήδη."
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Ένα ιδιωτικό ράφι με το όνομα '%(title)s' υπάρχει ήδη."
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Αλλαγή σειράς του Ραφιού: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Ράφι: '%(name)s"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Σφάλμα κατά το άνοιγμα του ραφιού. Το ράφι δεν υπάρχει ή δεν είναι προσβάσιμο"
@@ -1120,177 +1126,177 @@ msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε
msgid "No release information available"
msgstr "Δεν υπάρχουν διαθέσιμες πληροφορίες αποδέσμευσης"
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Ανακάλυψε (Τυχαία Βιβλία)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Βιβλία στη Μόδα (Με τα περισσότερα κατεβάσματα)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Κατεβασμένα βιβλία από %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Συγγραφέας: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Εκδότης: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Σειρές: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Αξιολόγηση: %(rating)s stars"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Μορφή αρχείου: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Κατηγορία: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Γλώσσα: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Προχωρημένη Αναζήτηση"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Αναζήτηση"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Κατεβασμένα"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Λίστα αξιολογήσεων"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Λίστα μορφών αρχείου"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Εργασίες"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Εκδόθηκε μετά"
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Εκδόθηκε πριν"
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Αξιολόγηση <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Αξιολόγηση >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(kindlemail)s"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Oυπς! Υπήρξε ένα σφάλμα κατά την αποστολή αυτού του βιβλίου: %(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Παρακαλούμε ενημέρωσε το προφίλ σου με μια έγκυρη Διεύθυνση E-mail Αποστολής στο Kindle."
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Ο διακομιστής E-Mail δεν έχει διαμορφωθεί, παρακαλούμε επικοινώνησε με το διαχειριστή σου!"
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Εγγραφή"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Η διεύθυνση e-mail σου δεν επιτρέπεται να εγγραφεί"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Το e-mail επιβεβαίωσης έχει σταλεί στον e-mail λογαριασμό σου."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Δεν μπόρεσε να ενεργοποιηθεί η επαλήθευση LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Εναλλακτική Σύνδεση ως: '%(nickname)s', Ο Διακομιστής LDAP δεν είναι προσβάσιμος, ή ο χρήστης δεν είναι γνωστός"
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Δεν μπόρεσε να συνδεθεί: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Λανθασμένο Όνομα Χρήστη ή Κωδικός"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Ο Νέος Κωδικός έχει σταλεί στη διεύθυνση email σου"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Έχεις συνδεθεί ως: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s's προφίλ"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Το προφίλ ενημερώθηκε"
@@ -1303,31 +1309,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Το εργαλείο μετατροπής Calibre ebook %(tool)s δεν βρέθηκε"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "%(format)s μορφή δεν βρέθηκε σε δίσκο"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "Ο μετατροπέας Ebook απέτυχε με άγνωστο σφάλμα"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Ο μετατροπέας Kepubify απέτυχε: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Το τροποποιημένο αρχείο δεν βρέθηκε ή υπάρχουν περισσότερα από ένα αρχεία στο φάκελο %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Ο μετατροπέας Ebook απέτυχε: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Το Calibre απέτυχε με σφάλμα: %(error)s"
@@ -1361,212 +1367,212 @@ msgstr "Διαχειριστής"
msgid "Password"
msgstr "Κωδικός"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Ανέβασμα"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Κατέβασμα"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Προβολή Βιβλίων"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Επεξεργασία"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Διαγραφή"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Δημόσιο Ράφι"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Προσθήκη Νέου Χρήστη"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Εισαγωγή Χρηστών LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Ρυθμίσεις E-mail Διακομιστή"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "Όνομα Εξυπηρετητή SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP Θύρα"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Κρυπτογράφηση"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Σύνδεση SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Από E-mail"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Διαμόρφωση"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Ευρετήριο Βάσης Δεδομένων Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Επίπεδο Φύλλου Καταγραφής"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Θύρα"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Εξωτερική Θύρα"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Βιβλία ανά Σελίδα"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Ανεβάσμένα"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Ανώνυμη Περιήγηση"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Δημόσια Εγγραφή"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Μαγικός Σύνδεσμος Απομακρυσμένης Σύνδεσης"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Αναστροφή Σύνδεσης Διακομιστή Μεσολάβησης"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Αναστροφή Proxy Όνομα Επικεφαλίδας"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Επεξεργασία Βασικής Διαμόρφωσης"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Επεξεργασία Βασικής Διαμόρφωσης"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Επεξεργασία Διαμόρφωσης UI"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Διοίκηση"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Προβολή Φύλλων Καταγραφής"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Επανασύνδεση Βάσης Δεδομένων Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Επανεκκίνηση"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Κλείσιμο"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Ενημέρωση"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Έκδοση"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Λεπτομέρειες"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Τρέχουσα έκδοση"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Έλεγχος για Ενημέρωση"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Πραγματοποίηση Ενημέρωσης"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις επανεκκίνηση"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Ακύρωση"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Γίνεται ενημέρωση, παρακαλούμε μη φορτώσεις ξανά αυτή τη σελίδα"
@@ -1578,39 +1584,39 @@ msgstr "μέσω"
msgid "In Library"
msgstr "Στη Βιβλιοθήκη"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "μείωση"
@@ -1740,9 +1746,9 @@ msgid "Fetch Metadata"
msgstr "Συγκέντρωση Μεταδεδομένων"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Αποθήκευση"
@@ -1765,7 +1771,7 @@ msgstr "Φόρτωση..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Κλείσιμο"
@@ -2246,50 +2252,50 @@ msgstr "Να Επιτρέπεται το Κατέβασμα"
msgid "Allow eBook Viewer"
msgstr "Να Επιτρέπεται η Προβολή eBook Viewer"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Να Επιτρέπεται το Ανέβασμα"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Να Επιτρέπεται η Επεξεργασία"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Να Επιτρέπεται η Διαγραφή Βιβλίων"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Να Επιτρέπεται η Αλλαγή Κωδικού"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Να Επιτρέπεται η Επεξεργασία Δημόσιων Ραφιών"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Εξαίρεση Γλωσσών"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Γλώσσα Βιβλίων"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Προκαθορισμένες Ορατότηες για Νέους Χρήστες"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Προβολή Τυχαίων Βιβλίων σε Προβολή Λεπτομερειών"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Προσθήκη ετικετών Επιτρέπεται/Απορρίπτεται"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Προσθήκη τιμών ειδικά κατασκευασμένων στηλών Επιτρέπεται/Απορρίπτεται"
@@ -2443,21 +2449,29 @@ msgstr "Επιστροφή στην Κεντρική"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3066,15 +3080,15 @@ msgstr "Δημιουγία/Προβολή"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Προσθήκη Τιμών Ειδικά Προσαρμοσμένης Στήλης επιτρέπεται/Απορρίπτεται"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Διαγραφή Χρήστη"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Δημιουργία Kobo Auth URL"
diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo
index 99318bb3..82ed2553 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 a44d2573..d57c31cc 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-05-25 17:22+0200\n"
"Last-Translator: minakmostoles \n"
"Language: es\n"
@@ -18,18 +18,18 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "no instalado"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "instalado"
# "Last-Translator: victorhck \n"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Estadísticas"
@@ -68,17 +68,17 @@ msgstr "Configuración básica"
msgid "UI Configuration"
msgstr "Configuración de la interfaz de usuario"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Editar usuarios"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Todo"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Usuario no encontrado"
@@ -86,7 +86,7 @@ msgstr "Usuario no encontrado"
msgid "{} users deleted successfully"
msgstr "{} usuarios eliminados con éxito"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Mostrar todo"
@@ -95,7 +95,7 @@ msgstr "Mostrar todo"
msgid "Malformed request"
msgstr "Petición mal formulada"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "El nombre de invitado no se puede cambiar"
@@ -103,7 +103,7 @@ msgstr "El nombre de invitado no se puede cambiar"
msgid "Guest can't have this role"
msgstr "El invitado no puede tener ese rol"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario"
@@ -275,9 +275,9 @@ msgstr "El filtro de LDAP \"Member User\" tiene paréntesis no coincidentes"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "La base de datos de configuración no es modificable"
@@ -307,7 +307,7 @@ msgstr "Actualizados los ajustes del servidor de correo electrónico"
msgid "Database Configuration"
msgstr "Configuración de la base de datos"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "¡Por favor, rellena todos los campos!"
@@ -315,167 +315,167 @@ msgstr "¡Por favor, rellena todos los campos!"
msgid "E-mail is not from valid domain"
msgstr "El correo electrónico no tiene un dominio válido"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Añadir un nuevo usuario"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuario '%(user)s' creado"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuario '%(nick)s' eliminado"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "No puedes borrar al Usuario Invitado"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
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:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar Usuario %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuario '%(nick)s' actualizado"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
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:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Cambiar parámetros de correo"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "Verificación de cuenta de Gmail exitosa"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure su correo electrónico primero..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Actualizados los ajustes del servidor de correo electrónico"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Contraseña para el usuario %(user)s reinicializada"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura primero los parámetros del servidor SMTP..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Visor del fichero de log"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Solicitando paquete de actualización"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Descargando paquete de actualización"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Descomprimiendo paquete de actualización"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Remplazando archivos"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Los conexiones con la base datos están cerradas"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Parando el servidor"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Falló la actualización:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Error HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Error de conexión"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Tiempo agotado mientras se trataba de establecer la conexión"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Error general"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Error al crear al menos un usuario LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Error: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Error: el servidor LDAP no ha devuelto ningún usuario"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
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:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} Usuario importado con éxito"
@@ -487,7 +487,7 @@ msgstr "no configurado"
msgid "Execution permissions missing"
msgstr "Faltan permisos de ejecución"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -500,8 +500,8 @@ msgstr "Formato de libro eliminado con éxito"
msgid "Book Successfully Deleted"
msgstr "Libro eliminado con éxito"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -538,7 +538,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Error en la base de datos: %(error)s."
@@ -696,7 +696,7 @@ msgstr "Fichero %(file)s no encontrado en Google Drive"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico"
@@ -730,34 +730,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Sólo se admiten como portada los archivos jpg/jpeg"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "No se encuentra el archivo binario UnRar"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Error ejecutando UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Esperando"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Fallido"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Comenzado"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Finalizado"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Estado desconocido"
@@ -774,7 +778,7 @@ msgstr "Configuración de Kobo"
msgid "Register with %(provider)s"
msgstr "Registrado con %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "has iniciado sesión como : '%(nickname)s'"
@@ -840,7 +844,7 @@ msgid "{} Stars"
msgstr "{} Estrellas"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Inicio de sesión"
@@ -856,7 +860,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Libros"
@@ -881,7 +885,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Libros mejor valorados"
@@ -890,7 +894,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Libros leídos"
@@ -899,7 +903,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Libros no leídos"
@@ -917,7 +921,7 @@ msgid "Show Random Books"
msgstr "Mostrar libros al azar"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Categorías"
@@ -927,7 +931,7 @@ msgstr "Mostrar selección de categorías"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Series"
@@ -945,7 +949,7 @@ msgid "Show author selection"
msgstr "Mostrar selección de autores"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Editores"
@@ -955,7 +959,7 @@ msgstr "Mostrar selección de editores"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Idiomas"
@@ -979,7 +983,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Libros archivados"
@@ -987,7 +991,7 @@ msgstr "Libros archivados"
msgid "Show archived books"
msgstr "Mostrar libros archivados"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Lista de Libros"
@@ -1015,9 +1019,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "El libro fue agregado a el estante: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1040,58 +1043,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "El libro fue eliminado del estante: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Crear un estante"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Editar un estante"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estante %(title)s creado"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estante %(title)s cambiado"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Ha sucedido un error"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Cambiar orden del estante: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estante: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1124,177 +1130,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Descubrir (Libros al azar)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Libros populares (los más descargados)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Libros descargados por %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Autor/es: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor/es: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Series: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Calificación: %(rating)s estrellas"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del archivo: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Categoría : %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Búsqueda avanzada"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Buscar"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Descargas"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Lista de calificaciones"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Lista de formatos"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Tareas"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Publicado después de "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Calificación <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Calificación >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Estado de lectura = $(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
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:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registro"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Su correo electrónico no está permitido para registrarse"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "No se puede activar la autenticación LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "No se pudo entrar: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Usuario o contraseña inválido"
-#: cps/web.py:1555
+#: cps/web.py:1581
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:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Por favor, introduce un usuario válido para restablecer la contraseña"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ahora estás conectado como: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Perfil actualizado"
@@ -1307,31 +1313,31 @@ msgstr "No se ha encontrado ningún archivo gmail.json válido con información
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre ebook-convert %(tool)s no encontrado"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "%(format)s format no encontrado en disco"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "El conversor de Ebook falló con un error desconocido"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify-converter falló: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Archivo convertido no encontrado, o más de un archivo en el directorio %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Falló Ebook-converter: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre falló con el error: %(error)s"
@@ -1365,212 +1371,212 @@ msgstr "Admin"
msgid "Password"
msgstr "Contraseña"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Subir archivo"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Descargar"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Ver libros"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Editar"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Borrar"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Estantería pública"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Añadir nuevo usuario"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importar usuarios LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Ajustes del servidor de correo electrónico"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "Servidor SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "Puerto SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Encriptado"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Login SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Desde el correo"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "Servicio de Correo"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail por Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Configuración"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Directorio de la base de datos de Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Nivel de registro"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Puerto"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Puerto externo"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Libros por página"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Subidas"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Navegación anónima"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Registro público"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Acceso remoto mediante enlace mágico"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Acceso mediante Proxy inverso"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Nombre de cabecera de Proxy inverso"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Editar la configuración de la base de datos de Calibre"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Editar la configuración básica"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Editar la configuración de la interfaz de usuario"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Administración"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Descargar paquete de debug"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Ver archivos de registro"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Reconectar a la BD Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Reiniciar"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Apagar"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Actualizar"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Versión"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Detalles"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Versión actual"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Comprobar actualizaciones"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Realizar actualización"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "¿Realmente quieres reiniciar?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Cancelar"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "¿Realmente quiere detener?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Actualizando. Por favor, no recargue la página"
@@ -1582,39 +1588,39 @@ msgstr "via"
msgid "In Library"
msgstr "En la Librería"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Ordenar en base a fecha del libro, más reciente primero"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Ordenar en base a fecha del libro, menos reciente primero"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Ordenar en base al título en orden alfabético"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Ordenar en base al título en orden alfabético invertido"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Ordenar en base a fecha de publicación, más reciente primero"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Ordenar en base a fecha de publicación, menos reciente primero"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "reducir"
@@ -1744,9 +1750,9 @@ msgid "Fetch Metadata"
msgstr "Obtener metadatos"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Guardar"
@@ -1769,7 +1775,7 @@ msgstr "Cargando..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Cerrar"
@@ -2250,50 +2256,50 @@ msgstr "Permitir descargas"
msgid "Allow eBook Viewer"
msgstr "Permitir visor de libros"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Permitir subidas de archivos"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Permitir editar"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Permitir borrar libros"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Permitir cambiar la contraseña"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Permitir editar estantes públicos"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Excluir idiomas"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Mostrar libros con idioma"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Visibilidad predeterminada para nuevos usuarios"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Mostrar libros aleatorios en la vista detallada"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Añadir etiquetas Permitidas/Denegados"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Añadir valores personalizados Permitidos/Denegados"
@@ -2447,21 +2453,29 @@ msgstr "Volver al inicio"
msgid "Logout User"
msgstr "Cerrar sesión"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Ordenar autores en orden alfabético"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Ordenar autores en orden alfabético inverso"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Ordenar ascendientemente en base al índice de serie"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Ordenar descendientemente en base al índice de serie"
@@ -3070,15 +3084,15 @@ msgstr "Crear/Ver"
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:134
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:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Borrar usuario"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Generar Auth URL de Kobo"
diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo
index 1754e51a..cf1a75d3 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 58d16924..0a4f2fb9 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-01-12 13:56+0100\n"
"Last-Translator: Samuli Valavuo \n"
"Language: fi\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "ei asennettu"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "asennettu"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Tilastot"
@@ -65,17 +65,17 @@ msgstr "Perusasetukset"
msgid "UI Configuration"
msgstr "Käyttöliittymän asetukset"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Pääkäyttäjä"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Kaikki"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -83,7 +83,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Näytä kaikki"
@@ -92,7 +92,7 @@ msgstr "Näytä kaikki"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -100,7 +100,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -271,9 +271,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -303,7 +303,7 @@ msgstr "Sähköpostipalvelimen tiedot päivitetty"
msgid "Database Configuration"
msgstr "Ominaisuuksien asetukset"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Ole hyvä ja täytä kaikki kentät!"
@@ -311,165 +311,165 @@ msgstr "Ole hyvä ja täytä kaikki kentät!"
msgid "E-mail is not from valid domain"
msgstr "Sähköpostiosoite ei ole toimivasta domainista"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Lisää uusi käyttäjä"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Käyttäjä '%(user)s' lisätty"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Käyttäjä '%(nick)s' poistettu"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
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:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Muokkaa käyttäjää %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Käyttäjä '%(nick)s' päivitetty"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Muuta SMTP asetuksia"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Sähköpostipalvelimen tiedot päivitetty"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Käyttäjän %(user)s salasana palautettu"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Lokitiedoston katselin"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Haetaan päivitystiedostoa"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Ladataan päivitystiedostoa"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Puretaan päivitystiedostoa"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Korvataan tiedostoja"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Tietokantayhteydet on katkaistu"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Sammutetaan palvelin"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Päivitys epäonnistui:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP virhe"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Yhteysvirhe"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Aikakatkaisu yhteyttä luotaessa"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Yleinen virhe"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -481,7 +481,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -494,8 +494,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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:"
@@ -532,7 +532,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -690,7 +690,7 @@ msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Tälle sähköpostiosoitteelle läytyi jo käyttäjätunnus."
@@ -724,34 +724,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Odottaa"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Epäonnistui"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Aloitettu"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Valmistui"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Tuntematon tila"
@@ -768,7 +772,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr "Rekisteröi tuottajalle %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "olet nyt kirjautunut tunnuksella: \"%(nickname)s\""
@@ -834,7 +838,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Kirjaudu sisään"
@@ -850,7 +854,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Kirjat"
@@ -875,7 +879,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Parhaiten arvioidut kirjat"
@@ -884,7 +888,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Luetut kirjat"
@@ -893,7 +897,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Lukemattomat kirjat"
@@ -911,7 +915,7 @@ msgid "Show Random Books"
msgstr "Näytä satunnausia kirjoja"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategoriat"
@@ -921,7 +925,7 @@ msgstr "Näytä kategoriavalinta"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Sarjat"
@@ -939,7 +943,7 @@ msgid "Show author selection"
msgstr "Näytä kirjailijavalinta"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Julkaisijat"
@@ -949,7 +953,7 @@ msgstr "Näytä julkaisijavalinta"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Kielet"
@@ -973,7 +977,7 @@ msgstr "Tiedotomuodot"
msgid "Show file formats selection"
msgstr "Näytä tiedostomuotovalinta"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -981,7 +985,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1009,9 +1013,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Kirja on lisätty hyllyyn: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1034,58 +1037,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Kirja on poistettu hyllystä: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "luo hylly"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Muokkaa hyllyä"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Hylly %(title)s luotu"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Hylly %(title)s muutettu"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Tapahtui virhe"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Muuta hyllyn: '%(name)s' järjestystä"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Hylly: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Virhe hyllyn avauksessa. Hyllyä ei ole tai se ei ole saatavilla"
@@ -1118,177 +1124,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Löydä (satunnaiset kirjat)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Kuumat kirjat (ladatuimmat)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Kirjailija: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Julkaisija: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Sarja: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Arvostelu: %(rating)s tähteä"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Tiedostomuoto: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Kieli: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Edistynyt haku"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Hae"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Arvostelulistaus"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Tiedostomuotolistaus"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Tehtävät"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Julkaistu alkaen "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Julkaisut ennen "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Arvostelu <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Arvostelu >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Rekisteröi"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Sähköpostiosoitteellasi ei ole sallittua rekisteröityä"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Vahvistusviesti on lähetetty sähköpostiosoitteeseesi."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "LDAP autnetikoinnin aktivointi ei onnistu"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Väärä käyttäjätunnus tai salasana"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "olet kirjautunut tunnuksella: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)sn profiili"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profiili päivitetty"
@@ -1301,31 +1307,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "E-kirjan muunnos epäonnistui: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1359,212 +1365,212 @@ msgstr "Ylläpito"
msgid "Password"
msgstr "Salasana"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Lähetä"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Lataa"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Näytä ekirjat"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Muokkaa"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Poista"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "SMTP sähköpostipalvelimen asetukset"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP palvein"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP portti"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP tunnus"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Lähettäjän sähköposti"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Asetukset"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre DB hakemisto"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Lokitaso"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Portti"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Kirjaa sivulla"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Lähetetään"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Nimetön selaus"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Julkinen rekisteröinti"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Etäkirjautuminen"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Calibre DB hakemisto"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Ylläpito"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Katsele lokitiedostoja"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Uudelleenyhdistä Calibre DB"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Uudellenkäynnistä Calibre-Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Sammuta Calibre-Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Päivitä"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Versio"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Yksityiskohdat"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Nykyinen versio"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Tarkista päivitykset"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Päivitä"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Haluatko varmasti uudelleenkäynnistää Calibre-Webin?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Haluatko varmasti pysäyttää Calibre-Webin?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Päivitetään, älä päivitä sivua"
@@ -1576,39 +1582,39 @@ msgstr ""
msgid "In Library"
msgstr "Kirjastossa"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "vähennä"
@@ -1738,9 +1744,9 @@ msgid "Fetch Metadata"
msgstr "Hae metadata"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1763,7 +1769,7 @@ msgstr "Ladataan..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Sulje"
@@ -2243,50 +2249,50 @@ msgstr "Salli kirjojen lataukset"
msgid "Allow eBook Viewer"
msgstr "Salli kirjojen luku"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Salli lisäykset"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Salli muutokset"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Salli sananan vaihto"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Salli julkisten hyllyjen editointi"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Poissulje kieli"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Näytä kirjat kielellä"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Oletusnäkymä uusille käyttäjille"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Näytä satunnaisia kirjoja näkymässä"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2439,21 +2445,29 @@ msgstr "Palaa kotiin"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3062,15 +3076,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Poista tämä käyttäjä"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo
index df93858a..02501df2 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 ad302c5f..5ffff5d7 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-06-07 06:47+0200\n"
"Last-Translator: \n"
"Language: fr\n"
@@ -31,17 +31,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "non installé"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "installé"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistiques"
@@ -80,17 +80,17 @@ msgstr "Configuration principale"
msgid "UI Configuration"
msgstr "Configuration de l’interface utilisateur"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Utilisateur admin"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Tout"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "L'utilisateur n'a pas été trouvé"
@@ -98,7 +98,7 @@ msgstr "L'utilisateur n'a pas été trouvé"
msgid "{} users deleted successfully"
msgstr "{} utilisateurs supprimés avec succès"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Montrer tout"
@@ -107,7 +107,7 @@ msgstr "Montrer tout"
msgid "Malformed request"
msgstr "Demande malformée"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Le nom de l’invité ne peut pas être modifié"
@@ -115,7 +115,7 @@ msgstr "Le nom de l’invité ne peut pas être modifié"
msgid "Guest can't have this role"
msgstr "L’invité ne peut pas avoir ce rôle"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin"
@@ -287,9 +287,9 @@ msgstr "Le filtre utilisateur de membre LDAP a des parenthèses non appariées"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "Les paramètres de la base de données ne sont pas accessibles en écriture"
@@ -319,7 +319,7 @@ msgstr "Les paramètres du serveur de courriels ont été mis à jour"
msgid "Database Configuration"
msgstr "Configuration des options"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Veuillez compléter tous les champs !"
@@ -327,167 +327,167 @@ msgstr "Veuillez compléter tous les champs !"
msgid "E-mail is not from valid domain"
msgstr "Cette adresse de courriel n’appartient pas à un domaine valide"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Ajouter un nouvel utilisateur"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Utilisateur '%(user)s' créé"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Utilisateur '%(nick)s' supprimé"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "Impossible de supprimer l’utilisateur Invité"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Éditer l'utilisateur %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Utilisateur '%(nick)s' mis à jour"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Modifier les paramètres du serveur de courriels"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "La vérification du compte Gmail réussie"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Veuillez d'abord configurer votre adresse de courriel..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Les paramètres du serveur de courriels ont été mis à jour"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, 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:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Veuillez configurer les paramètres SMTP au préalable..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Visualiseur de fichier journal"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Demande de mise à jour"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Téléchargement de la mise à jour"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Décompression de la mise à jour"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Remplacement des fichiers"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Les connexions à la base de données ont été fermées"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Arrêt du serveur"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "La mise à jour a échoué :"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Erreur HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Erreur de connexion"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Délai d'attente dépassé lors de l'établissement de connexion"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Erreur générale"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Impossible de créer au moins un utilisateur LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erreur : %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
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:1816
+#: cps/admin.py:1821
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:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} utilisateur importé avec succès"
@@ -499,7 +499,7 @@ msgstr "non configuré"
msgid "Execution permissions missing"
msgstr "Les permissions d'exécutions manquantes"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -512,8 +512,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:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -550,7 +550,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Erreur de la base de données: %(error)s."
@@ -708,7 +708,7 @@ msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Un compte existant a été trouvé pour cette adresse de courriel."
@@ -742,34 +742,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
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:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Fichier binaire Unrar non trouvé"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Une erreur est survenue lors de l'exécution d'UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "En attente"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Echoué"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Débuté"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Terminé"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Statut inconnu"
@@ -786,7 +790,7 @@ msgstr "Configuration Kobo"
msgid "Register with %(provider)s"
msgstr "Enregistrer avec %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "vous êtes maintenant connecté comme : '%(nickname)s'"
@@ -852,7 +856,7 @@ msgid "{} Stars"
msgstr "{} Étoiles"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Connexion"
@@ -868,7 +872,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Livres"
@@ -893,7 +897,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Livres les mieux notés"
@@ -902,7 +906,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Livres lus"
@@ -911,7 +915,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Livres non-lus"
@@ -929,7 +933,7 @@ msgid "Show Random Books"
msgstr "Montrer des livres au hasard"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Catégories"
@@ -939,7 +943,7 @@ msgstr "Montrer la sélection par catégories"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Séries"
@@ -957,7 +961,7 @@ msgid "Show author selection"
msgstr "Montrer la sélection par auteur"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Éditeurs"
@@ -967,7 +971,7 @@ msgstr "Montrer la sélection par éditeur"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Langues"
@@ -991,7 +995,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Livres archivés"
@@ -999,7 +1003,7 @@ msgstr "Livres archivés"
msgid "Show archived books"
msgstr "Afficher les livres archivés"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Liste des livres"
@@ -1027,9 +1031,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Le livre a bien été ajouté à l'étagère : %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1052,58 +1055,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Le livre a été supprimé de l'étagère %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Créer une étagère"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Modifier une étagère"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Étagère %(title)s créée"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "L’étagère %(title)s a été modifiée"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Il y a eu une erreur"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Modifier l’arrangement de l’étagère : ‘%(name)s’"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Étagère : '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1136,177 +1142,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Découvrir (Livres au hasard)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Livres populaires (les plus téléchargés)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Livres téléchargés par %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur : %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Éditeur : '%(name)s'"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Séries : %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Évaluation : %(rating)s étoiles"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Format de fichier : %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Catégorie : %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Langue : %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Recherche avancée"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Chercher"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Téléchargements"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Liste des évaluations"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Liste de formats de fichiers"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Tâches"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Publié après le "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Publié avant le "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Évaluation <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Évaluation >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status de lecture = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
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:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Créer un compte"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Le courriel de confirmation a été envoyé à votre adresse."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Impossible d’activer l’authentification LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Impossible de se connecter: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Mauvais nom d'utilisateur ou mot de passe"
-#: cps/web.py:1555
+#: cps/web.py:1581
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:1561
+#: cps/web.py:1587
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:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Vous êtes maintenant connecté en tant que : ‘%(nickname)s’"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Profil de %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profil mis à jour"
@@ -1319,31 +1325,31 @@ msgstr "Aucun fichier gmail.json avec information OAuth valide trouvé"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "ebook-convert calibre %(tool)s non trouvé"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "Format %(format)s non trouvé sur le disque"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "Le convertisseur Ebook a échoué avec une erreur inconnue"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "La commande Kepubify-converter a échouée : %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Fichier converti non trouvé ou plus d'un fichier dans le chemin %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "La commande ebook-convert a échouée : %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre a échoué avec l’erreur : %(error)s"
@@ -1377,212 +1383,212 @@ msgstr "Administration"
msgid "Password"
msgstr "Mot de passe"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Téléverser"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Télécharger"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Afficher les livres"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Éditer"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Supprimer"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Étagère publique"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Ajouter un nouvel utilisateur"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importer des utilisateurs LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Paramètres du serveur de courriels"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "Nom d'hôte du serveur SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "Port du serveur SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Chiffrement"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Compte utilisateur SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Expéditeur des courriels"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "Service courriel"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail via Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Configuration"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Répertoire de la base de données Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Niveau de journalisation"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Port exeterne"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Livres par page"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Téléversements"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Navigation anonyme"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Inscription publique"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Connexion à distance Magic Link"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Compte du Reverse Proxy"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Nom de l'en-tête du Reverse Proxy"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Éditer la configuration principale"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Éditer la configuration principale"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Configuration de l’interface utilisateur"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Administration"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Télécharger le package de débogage"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Afficher les fichiers journaux"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Reconnecter la base de données Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Redémarrer Calibre-Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Arrêter Calibre-Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Mise à jour de Calibre-Web"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Détails"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Version actuelle"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Rechercher les mises à jour"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Effectuer la mise à jour"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Voulez-vous vraiment redémarrer Calibre-Web?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Annuler"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Voulez-vous vraiment arrêter Calibre-Web?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Mise à jour en cours, ne pas rafraîchir la page"
@@ -1594,39 +1600,39 @@ msgstr "via"
msgid "In Library"
msgstr "Dans la librairie"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Trier en fonction de la date du livre, le plus récent en premier"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Trier en fonction de la date du livre, le plus ancien en premier"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Trier les titres dans l’ordre alphabétique"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Trier le titre dans l’ordre alphabétique inverse"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Trier en fonction de la date de publication, le plus récent en premier"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Trier en fonction de la date de publication, le plus ancien en premier"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "réduire"
@@ -1756,9 +1762,9 @@ msgid "Fetch Metadata"
msgstr "Obtenir les métadonnées"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Sauvegarder"
@@ -1781,7 +1787,7 @@ msgstr "Chargement..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Fermer"
@@ -2262,50 +2268,50 @@ msgstr "Permettre les téléchargements"
msgid "Allow eBook Viewer"
msgstr "Autoriser le visionneur de livres"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Permettre le téléversement de fichiers"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Permettre l'édition"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Permettre la suppression de livres"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Permettre le changement de mot de passe"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Autoriser la modification d’étagères publiques"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Exclure les langues"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Montrer les livres dans la langue"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Mode de visualisation par défaut pour les nouveaux utilisateurs"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
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:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Ajouter les étiquettes autorisées/refusées"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Ajouter les valeurs de colonnes autorisées/refusées"
@@ -2459,21 +2465,29 @@ msgstr "Retour à l’accueil"
msgid "Logout User"
msgstr "Déconnecter l’utilisateur"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Trier les auteurs dans l’ordre alphabétique"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Trier les auteurs dans l’ordre alphabétique inverse"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Trier par ordre croissant en fonction de l’index de série"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Trier par ordre décroissant en fonction de l’index de série"
@@ -3082,15 +3096,15 @@ msgstr "Créer/visualiser"
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:134
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:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Supprimer l'utilisateur"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Générer l'URL d'authentification Kobo"
diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo
index cd2790bb..bd42e50e 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 a91824ee..06d891e2 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2019-04-06 23:36+0200\n"
"Last-Translator: \n"
"Language: hu\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "nincs telepítve"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr ""
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statisztika"
@@ -65,17 +65,17 @@ msgstr "Alapvető beállítások"
msgid "UI Configuration"
msgstr "Felhasználói felület beállításai"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Rendszergazda felhasználó"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -83,7 +83,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Mindent mutass"
@@ -92,7 +92,7 @@ msgstr "Mindent mutass"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -100,7 +100,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -271,9 +271,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -303,7 +303,7 @@ msgstr "Az e-mail kiszolgáló beállításai frissítve."
msgid "Database Configuration"
msgstr "Funkciók beállítása"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Az összes mezőt ki kell tölteni!"
@@ -311,165 +311,165 @@ msgstr "Az összes mezőt ki kell tölteni!"
msgid "E-mail is not from valid domain"
msgstr "Az e-mail tartománya nem érvényes."
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Új felhasználó hozzáadása"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "A következő felhasználó létrehozva: %(user)s"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "A felhasználó törölve: %(nick)s"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr " A felhasználó szerkesztése: %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "A felhasználó frissítve: %(nick)s"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
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:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "SMTP beállítások változtatása"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Az e-mail kiszolgáló beállításai frissítve."
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, 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:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
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:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Frissítési csomag kérése"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Frissítési csomag letöltése"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Frissítési csomag kitömörítése"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Fájlok cserélése"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Adatbázis kapcsolatok lezárva"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Szerver leállítása"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "A frissítés nem sikerült:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP hiba"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Kapcsolódási hiba"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Időtúllépés a kapcsolódás során"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Általános hiba"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -481,7 +481,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -494,8 +494,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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:"
@@ -532,7 +532,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -690,7 +690,7 @@ msgstr "A \"%(file)s\" fájl nem található a Google Drive-on"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Már létezik felhasználó ehhez az e-mail címhez."
@@ -724,34 +724,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Várakozás"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Nem sikerült"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Elindítva"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Végrehajtva"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Ismeretlen állapot"
@@ -768,7 +772,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Be vagy jelentkezve mint: %(nickname)s"
@@ -834,7 +838,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Belépés"
@@ -850,7 +854,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr ""
@@ -875,7 +879,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Legjobb könyvek"
@@ -884,7 +888,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Olvasott könyvek"
@@ -893,7 +897,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Olvasatlan könyvek"
@@ -911,7 +915,7 @@ msgid "Show Random Books"
msgstr "Mutass könyveket találomra"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Címkék"
@@ -921,7 +925,7 @@ msgstr "Címke választó mutatása"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Sorozatok"
@@ -939,7 +943,7 @@ msgid "Show author selection"
msgstr "Szerző választó mutatása"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Kiadók"
@@ -949,7 +953,7 @@ msgstr "Kiadó választó mutatása"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Nyelvek"
@@ -973,7 +977,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -981,7 +985,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1009,9 +1013,8 @@ 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:126
-#, 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."
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1034,58 +1037,61 @@ 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:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Polc készítése"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Polc szerkesztése"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, 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:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "A következő polc megváltoztatva: %(title)s"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Hiba történt"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "A következő polc átrendezése: %(name)s"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Polc: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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ő."
@@ -1118,177 +1124,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Felfedezés (könyvek találomra)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Kelendő könyvek (legtöbbet letöltöttek)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Kiadó: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Sorozat: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Címke: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Nyelv: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Részletes keresés"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Keresés"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Letöltések"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr ""
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Feladatok"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Kiadva ezután: "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Kiadva ezelőtt: "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Értékelés <= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Regisztrálás"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Rossz felhasználó név vagy jelszó!"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s profilja"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "A profil frissítve."
@@ -1301,31 +1307,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Az e-könyv átalakítás nem sikerült: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1359,212 +1365,212 @@ msgstr "Rendszergazda"
msgid "Password"
msgstr "Jelszó"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Feltöltés"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Letöltés"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Szerkesztés"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Törlés"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "SMTP e-mail kiszolgáló beállítások"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP szervernév"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP port"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP felhasználó"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Küldő e-mail cím"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Konfiguráció"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre adatbázis mappája:"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Naplózás szintje:"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port:"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Könyvek oldalanként:"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Feltöltés:"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Böngészés bejelentkezés nélkül:"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Nyílvános regisztráció:"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Távoli belépés:"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Calibre adatbázis mappája:"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Adminisztráció"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Újracsatlakozás a Calibre adatbázishoz"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "A Calibre adatbázis újraindítása"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "A Calibre adatbázis leállítása"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Frissítés"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Verzió"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Részletek"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Jelenlegi verzió"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Frissítés keresése"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Frissítés elkezdése"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Valóban újra akarod indítani a Calibre-Web-et?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Valóban le akarod állítani a Calibre-Web-et?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Frissítés folyamatban, ne töltsd újra az oldalt"
@@ -1576,39 +1582,39 @@ msgstr "keresztül"
msgid "In Library"
msgstr "Könyvtárban"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "csökkentsd"
@@ -1738,9 +1744,9 @@ msgid "Fetch Metadata"
msgstr "Metaadatok beszerzése"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1763,7 +1769,7 @@ msgstr "Betöltés..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Bezárás"
@@ -2243,50 +2249,50 @@ msgstr "Letöltés engedélyezése"
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Feltöltés engedélyezése"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Szerkesztés engedélyezése"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Jelszó változtatásának engedélyezése"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Nyilvános polcok szerkesztésének engedélyezése"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Nyelvek kizárása"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Mutasd a könyveket a következő nyelvvel"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Új felhasználók alapértelmezett látható elemei"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Mutasson könyveket találomra a részletes nézetben"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2439,21 +2445,29 @@ msgstr "Vissza a kezdőlapra"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3058,15 +3072,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "A felhasználó törlése"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo
index 0fc468d1..af9006f7 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 879a4cba..6e1dda30 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2017-04-04 15:09+0200\n"
"Last-Translator: ElQuimm \n"
"Language: it\n"
@@ -15,17 +15,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "non installato"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "installato"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistiche"
@@ -64,16 +64,16 @@ msgstr "Configurazione di base"
msgid "UI Configuration"
msgstr "Configurazione dell'interfaccia utente"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "Modifica gli utenti"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Tutti"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Utente non trovato"
@@ -81,7 +81,7 @@ msgstr "Utente non trovato"
msgid "{} users deleted successfully"
msgstr "{} utente eliminato con successo"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "tutte le lingue presenti"
@@ -90,7 +90,7 @@ msgstr "tutte le lingue presenti"
msgid "Malformed request"
msgstr "Richiesta non formulata correttamente"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Il nome dell'utente Guest (ospite) non può essere modificato"
@@ -98,7 +98,7 @@ msgstr "Il nome dell'utente Guest (ospite) non può essere modificato"
msgid "Guest can't have this role"
msgstr "L'utente Guest (ospite) non può avere questo ruolo"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Non rimarrebbe nessun utente amministratore, non posso rimuovere il ruolo di amministratore"
@@ -266,9 +266,9 @@ msgstr "LDAP Member User Filter contiene una parentesi senza la corrispettiva"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "I parametri del DB non sono scrivibili"
@@ -296,7 +296,7 @@ msgstr "Configurazione del Database aggiornata"
msgid "Database Configuration"
msgstr "Configurazione del Database"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Per favore compila tutti i campi!"
@@ -304,164 +304,164 @@ msgstr "Per favore compila tutti i campi!"
msgid "E-mail is not from valid domain"
msgstr "L'e-mail non proviene da un dominio valido"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Aggiungi un nuovo utente"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "L'utente '%(user)s' è stato creato"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "L'utente '%(nick)s' è stato eliminato"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "Non posso eliminare l'utente Guest (ospite)"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Non rimarrebbe nessun utente amministratore, non posso eliminare l'utente"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Modifica l'utente %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "L'utente '%(nick)s' è stato aggiornato"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Si è verificato un errore sconosciuto: per favore riprova."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Modifica le impostazioni del server e-mail"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "L'account Gmail è stato verificato con successo"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Per favore prima configura il tuo indirizzo e-mail..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Configurazione del server e-mail aggiornata"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "La password dell'utente %(user)s è stata resettata"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Configura dapprima le impostazioni del server SMTP..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Visualizzatore del Logfile"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Richiedo il pacchetto di aggiornamento"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Scarico il pacchetto di aggiornamento"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Decomprimo il pacchetto di aggiornamento"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Sostituisco i file"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Le connessioni al database sono chiuse"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Arresto il server"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Aggiornamento completato, per favore premi ok e ricarica la pagina"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Aggiornamento non riuscito:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Errore HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Errore di connessione"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Tempo scaduto nello stabilire la connessione"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Errore generale"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr "Durante l'aggiornamento non è stato possibile sostituire alcuni file"
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr "Fallita l'estrazione di almeno un utente LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Fallita la creazione di almeno un utente LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Errore: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Errore: nessun utente restituito in risposta dal server LDAP"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Almeno un utente LDAP non è stato trovato nel database"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} utente importato con successo"
@@ -473,7 +473,7 @@ msgstr "non configurato"
msgid "Execution permissions missing"
msgstr "Mancano i permessi di esecuzione"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -486,8 +486,8 @@ msgstr "Il formato del libro è stato eliminato con successo"
msgid "Book Successfully Deleted"
msgstr "Il libro é stato eliminato con successo"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -524,7 +524,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Errore nel database: %(error)s."
@@ -682,7 +682,7 @@ msgstr "File %(file)s non trovato su Google Drive"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "Ho trovato un account creato in precedenza con questo indirizzo e-mail."
@@ -715,34 +715,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
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:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Non ho trovato il file binario di UnRar"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Errore nell'eseguire UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Attendi"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Non riuscito"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Avviato"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Terminato"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Stato sconosciuto"
@@ -759,7 +763,7 @@ msgstr "Configurazione di Kobo"
msgid "Register with %(provider)s"
msgstr "Registra con %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ora sei connesso come: '%(nickname)s'"
@@ -825,7 +829,7 @@ msgid "{} Stars"
msgstr "{} Stelle"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Accesso"
@@ -841,7 +845,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Libri"
@@ -866,7 +870,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Libri meglio valutati"
@@ -875,7 +879,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Libri letti"
@@ -884,7 +888,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Libri non letti"
@@ -902,7 +906,7 @@ msgid "Show Random Books"
msgstr "Mostra libri casualmente"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Categorie"
@@ -912,7 +916,7 @@ msgstr "Mostra l'opzione per la selezione delle categorie"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Serie"
@@ -930,7 +934,7 @@ msgid "Show author selection"
msgstr "Mostra l'opzione per la selezione degli autori"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Editori"
@@ -940,7 +944,7 @@ msgstr "Mostra l'opzione per la selezione degli editori"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Lingue"
@@ -964,7 +968,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Libri archiviati"
@@ -972,7 +976,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:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Elenco libri"
@@ -1000,9 +1004,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Il libro è stato aggiunto allo scaffale: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1025,57 +1028,60 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Il libro è stato rimosso dallo scaffale: %(sname)s"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "Spiacente, non sei autorizzato a togliere libri dallo scaffale: %(sname)s"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Crea uno scaffale"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Spiacente, non sei autorizzato a modificare questo scaffale"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Modifica uno scaffale"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Lo scaffale %(title)s è stato creato"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Lo scaffale %(title)s è stato modificato"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "C'era un errore"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Modifica l'ordine dello scaffale: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Scaffale: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1108,177 +1114,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Scopri (libri casuali)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "I libri più richiesti"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "I libri scaricati da %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Autore: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editore: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Serie: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Valutazione: %(rating)s stelle"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Formato del file: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Lingua: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Ricerca avanzata"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Cerca"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Elenco delle valutazioni"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Elenco dei formati"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Compito"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Pubblicato dopo il "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Pubblicato prima del "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Valutazione <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Valutazione >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Stato di lettura = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Errore di ricerca nelle colonne personalizzate. Per favore riavvia Calibre-Web"
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registra"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Il tuo e-mail non è autorizzato alla registrazione"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Non posso attivare l'autenticazione LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Non posso accedere: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Nome utente o password errati"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Una nuova password è stata inviata al tuo recapito e-mail"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Per favore digita un nome di utente valido per resettare la password"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Ora sei connesso come '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Profilo di %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profilo aggiornato"
@@ -1291,31 +1297,31 @@ msgstr "Ho trovato un gmail.json file senza informazione OAuth"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Non ho trovato il convertitore %(tool)s di libri di Calibre"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "Non ho trovato il formato %(format)s nel disco"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "La conversione del libro è terminata con un errore sconosciuto"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Si è verificato un errore con il convertitore Kepubify: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Non ho trovato il file convertito o ci sono più di un file nella cartella %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Errore nel convertitore: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Si è verificato un errore con Calibre: %(error)s"
@@ -1349,211 +1355,211 @@ msgstr "Amministrazione"
msgid "Password"
msgstr "Password"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Upload"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Download"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Vedi libri"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Modifica"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Elimina"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Scaffale pubblico"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Aggiungi un nuovo utente"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importa gli utenti LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Configurazione server e-mail"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "Indirizzo server SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "Porta SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Crittografia"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Login SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "E-mail da"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "Servizio e-mail"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail via Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Configurazione"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Cartella del database di Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Livello di log"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Porta"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Porta esterna"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Libri per pagina"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Uploads"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Navigazione anonima"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Registrazione pubblica"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Magic Link Login remoto"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Login reverse proxy"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Nome dell'intestazione Reverse Proxy"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr "Modifica la configurazione del Database di Calibre"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Modifica la configurazione di base"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Modifica la configurazione dell'interfaccia utente"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Amministrazione"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Scarica Debug Package"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Visualizza Logfile"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Ricollega il database di Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Riavvia Calibre-Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Arresta Calibre-Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Aggiornamento"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Versione"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Dettagli"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Versione attuale"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Ricerca aggiornamenti"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Esegui l'aggiornamento"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Vuoi veramente riavviare Calibre-Web?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Annulla"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Vuoi veramente arrestare Calibre-Web?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Aggiornamento, non ricaricare la pagina."
@@ -1565,39 +1571,39 @@ msgstr "via"
msgid "In Library"
msgstr "Nella libreria"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Ordina secondo la data dei libri, prima i più recenti"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Ordina secondo la data dei libri, prima i più vecchi"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Ordina i titoli in ordine alfabetico"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Ordina i titoli in ordine alfabetico inverso"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Ordina secondo la data di pubblicazione, prima i più recenti"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Ordina secondo la data di pubblicazione, prima i più vecchi"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "riduci"
@@ -1727,9 +1733,9 @@ msgid "Fetch Metadata"
msgstr "Ottieni metadati"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Salva"
@@ -1751,7 +1757,7 @@ msgstr "Caricamento in corso..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Chiudi"
@@ -2230,48 +2236,48 @@ msgstr "Permetti il download"
msgid "Allow eBook Viewer"
msgstr "Permetti l'utilizzo del visualizzatore di libri"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Permetti l'upload"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Permetti la modifica"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Permetti l'eliminazione di libri"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Permetti la modifica della password"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Permetti la modifica degli scaffali pubblici"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
msgid "Default Language"
msgstr "Lingua predefinita"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
msgid "Default Visible Language of Books"
msgstr "Lingua predefinita di presentazione dei libri"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Visibilità predefinita per i nuovi utenti"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Mostra libri scelti aleatoriamente nella vista dettagliata"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Aggiungi categorie permesse/negate"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Aggiungi valori personali permetti/nega nelle colonne"
@@ -2424,21 +2430,29 @@ msgstr "Ritorna alla pagina principale"
msgid "Logout User"
msgstr "Disconnetti l'utente"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Ordina gli autori in ordine alfabetico"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Ordina gli autori in ordine alfabetico inverso"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Ordina in ordine ascendente secondo l'indice della serie"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Ordina in ordine discendente secondo l'indice della serie"
@@ -3040,15 +3054,15 @@ msgstr "Crea/Visualizza"
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:134
msgid "Sync only books in selected shelves with Kobo"
msgstr "Sincronizza con Kobo unicamene i libri negli scaffali selezionati"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Elimina utente"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Genera un URL di autenticazione per Kobo"
diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo
index 35e759cf..3fad6032 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 ca070588..f8ce8069 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2018-02-07 02:20-0500\n"
"Last-Translator: white \n"
"Language: ja\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "インストールされていません"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr ""
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "統計"
@@ -65,16 +65,16 @@ msgstr "基本設定"
msgid "UI Configuration"
msgstr "UI設定"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr ""
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr ""
@@ -91,7 +91,7 @@ msgstr ""
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -266,9 +266,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -298,7 +298,7 @@ msgstr "メールサーバの設定を更新しました"
msgid "Database Configuration"
msgstr "機能設定"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "全ての項目を入力してください"
@@ -306,165 +306,165 @@ msgstr "全ての項目を入力してください"
msgid "E-mail is not from valid domain"
msgstr "このメールは有効なドメインからのものではありません"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "新規ユーザ追加"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "ユーザ '%(user)s' を作成しました"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "このメールアドレスかニックネームで登録されたアカウントが見つかりました"
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "ユーザ '%(nick)s' を削除しました"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s を編集"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "ユーザ '%(nick)s' を更新しました"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "不明なエラーが発生しました。あとで再試行してください。"
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "SMTP設定を変更"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "テストメールを %(res)s に送信中にエラーが発生しました"
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "メールサーバの設定を更新しました"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s 用のパスワードをリセット"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "初めにSMTPメールの設定をしてください"
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "更新データを要求中"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "更新データをダウンロード中"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "更新データを展開中"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "ファイルを置換中"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "データベースの接続を切断完了"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "サーバ停止中"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "アップデート完了、OKを押してページをリロードしてください"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "アップデート失敗:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTPエラー"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "接続エラー"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "接続を確立中にタイムアウトしました"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "エラー発生"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -476,7 +476,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -489,8 +489,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -527,7 +527,7 @@ msgstr "%(path)s の作成に失敗しました (Permission denied)。"
msgid "Failed to store file %(file)s."
msgstr "%(file)s を保存できません。"
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -685,7 +685,7 @@ msgstr "ファイル %(file)s はGoogleドライブ上にありません"
msgid "Book path %(path)s not found on Google Drive"
msgstr "本のパス %(path)s はGoogleドライブ上にありません"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "このメールアドレスで登録されたアカウントがあります"
@@ -719,34 +719,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "待機中"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "失敗"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "開始"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "終了"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "不明"
@@ -763,7 +767,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "%(nickname)s としてログイン中"
@@ -829,7 +833,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "ログイン"
@@ -845,7 +849,7 @@ msgstr "トークンが無効です"
msgid "Success! Please return to your device"
msgstr "成功です!端末に戻ってください"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr ""
@@ -870,7 +874,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr ""
@@ -879,7 +883,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "読んだ本"
@@ -888,7 +892,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "未読の本"
@@ -906,7 +910,7 @@ msgid "Show Random Books"
msgstr "ランダムで本を表示"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "カテゴリ"
@@ -916,7 +920,7 @@ msgstr "カテゴリ選択を表示"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "シリーズ"
@@ -934,7 +938,7 @@ msgid "Show author selection"
msgstr "著者選択を表示"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "出版社"
@@ -944,7 +948,7 @@ msgstr "出版社選択を表示"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "言語"
@@ -968,7 +972,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -976,7 +980,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1004,9 +1008,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "本を %(sname)s に追加しました"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
-msgstr "%(name)s に本を追加することが許可されていません"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1029,58 +1032,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "本が %(sname)s から削除されました"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "申し訳ありませんが、%(sname)s から本を削除することが許可されていません"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "本棚を作成する"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "申し訳ありませんが、%(sname)s から本を削除することが許可されていません"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "本棚を編集する"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "%(title)s を作成しました"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "%(title)s を変更しました"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "エラーが発生しました"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "'%(name)s' 内の本の順番を変更する"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "本棚: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "本棚を開けません。この本棚は存在しないかアクセスできません"
@@ -1113,177 +1119,177 @@ msgstr "アップデートが利用可能です。下のボタンをクリック
msgid "No release information available"
msgstr "リリース情報がありません"
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "本を見つける (ランダムで表示)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "シリーズ: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "カテゴリ: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "言語: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "詳細検索"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "検索"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr ""
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr ""
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "タスク"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "これ以降に出版 "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "これ以前に出版 "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "評価 <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "評価 >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "本の %(kindlemail)s への送信がキューに追加されました"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "%(res)s を送信中にエラーが発生しました"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "初めにKindleのメールアドレスを設定してください"
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "登録"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "このメールアドレスは登録が許可されていません"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "確認メールがこのメールアドレスに送信されました。"
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "ユーザ名またはパスワードが違います"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s のプロフィール"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "プロフィールを更新しました"
@@ -1296,31 +1302,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Ebook-converter が失敗しました: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1354,212 +1360,212 @@ msgstr "管理者"
msgid "Password"
msgstr "パスワード"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "アップロード"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "ダウンロード"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "編集"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "削除"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr ""
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr ""
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "暗号化"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr ""
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr ""
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "設定"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr ""
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "ログレベル"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "ポート番号"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr ""
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr ""
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr ""
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr ""
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr ""
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Calibre-Web の設定を更新しました"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "管理"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr ""
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "アップデート"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "バージョン"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "詳細"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "現在のバージョン"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "更新を実行"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr ""
@@ -1571,39 +1577,39 @@ msgstr "経由"
msgid "In Library"
msgstr "ライブラリ内"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "減らす"
@@ -1733,9 +1739,9 @@ msgid "Fetch Metadata"
msgstr ""
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1758,7 +1764,7 @@ msgstr "読み込み中..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "閉じる"
@@ -2238,49 +2244,49 @@ msgstr "ダウンロードを許可"
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "アップロードを許可"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "編集を許可"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "パスワード変更を許可"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "みんなの本棚の編集を許可"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "言語を除外"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
msgid "Default Visible Language of Books"
msgstr ""
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2433,21 +2439,29 @@ msgstr ""
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3052,15 +3066,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr ""
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo
index 91e2659d..f2839dab 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 1a1cc094..983a9b03 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2018-08-27 17:06+0700\n"
"Last-Translator: \n"
"Language: km_KH\n"
@@ -17,17 +17,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "មិនបានតម្លើង"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr ""
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "ស្ថិតិ"
@@ -66,17 +66,17 @@ msgstr "ការកំណត់សាមញ្ញ"
msgid "UI Configuration"
msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -84,7 +84,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "បង្ហាញទាំងអស់"
@@ -93,7 +93,7 @@ msgstr "បង្ហាញទាំងអស់"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -101,7 +101,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -272,9 +272,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -304,7 +304,7 @@ msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្
msgid "Database Configuration"
msgstr "ការកំណត់មុខងារ"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "សូមបំពេញចន្លោះទាំងអស់!"
@@ -312,164 +312,164 @@ msgstr "សូមបំពេញចន្លោះទាំងអស់!"
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "ប្តូរការកំណត់ SMTP"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន"
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr ""
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -481,7 +481,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -494,8 +494,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -532,7 +532,7 @@ msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុ
msgid "Failed to store file %(file)s."
msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។"
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -690,7 +690,7 @@ msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google
msgid "Book path %(path)s not found on Google Drive"
msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr ""
@@ -723,34 +723,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "កំពុងរង់ចាំ"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "បានបរាជ័យ"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "បានចាប់ផ្តើម"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "បានបញ្ចប់"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr ""
@@ -767,7 +771,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’"
@@ -833,7 +837,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "ចូលប្រើប្រាស់"
@@ -849,7 +853,7 @@ msgstr "វត្ថុតាងហួសពេលកំណត់"
msgid "Success! Please return to your device"
msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr ""
@@ -874,7 +878,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "សៀវភៅដែលមានការវាយតម្លៃល្អជាងគេ"
@@ -883,7 +887,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "សៀវភៅដែលបានអានរួច"
@@ -892,7 +896,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "សៀវភៅដែលមិនទាន់បានអាន"
@@ -910,7 +914,7 @@ msgid "Show Random Books"
msgstr "បង្ហាញសៀវភៅចៃដន្យ"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "ប្រភេទនានា"
@@ -920,7 +924,7 @@ msgstr "បង្ហាញជម្រើសប្រភេទ"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "ស៊េរី"
@@ -938,7 +942,7 @@ msgid "Show author selection"
msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr ""
@@ -948,7 +952,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "ភាសានានា"
@@ -972,7 +976,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -980,7 +984,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1008,8 +1012,7 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "សៀវភៅត្រូវបានបន្ថែមទៅធ្នើ៖ %(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
+msgid "You are not allowed to add a book to the shelf"
msgstr ""
#: cps/shelf.py:144
@@ -1033,58 +1036,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "សៀវភៅត្រូវបានដកចេញពីធ្នើ៖ %(sname)s"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "បង្កើតធ្នើ"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "សូមអភ័យទោស អ្នកមិនមានសិទ្ធិដកសៀវភៅចេញពីធ្នើនេះទេ៖ %(sname)s"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "កែប្រែធ្នើ"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានបង្កើត"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "ធ្នើឈ្មោះ %(title)s ត្រូវបានប្តូរ"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "មានបញ្ហា"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "ប្តូរលំដាប់ធ្នើ៖ ‘%(name)s’"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "ធ្នើ៖ ‘%(name)s’"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "មានបញ្ហាពេលបើកធ្នើ។ ពុំមានធ្នើ ឬមិនអាចបើកបាន"
@@ -1117,177 +1123,177 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "សៀវភៅដែលត្រូវបានទាញយកច្រើនជាងគេ"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "ស៊េរី៖ %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "ប្រភេទ៖ %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "ភាសា៖ %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "ស្វែងរកកម្រិតខ្ពស់"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "ស្វែងរក"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "ឯកសារ DLS"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr ""
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "កិច្ចការនានា"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "បានបោះពុម្ភក្រោយ "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "បានបោះពុម្ភមុន "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "ការវាយតម្លៃ <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "ការវាយតម្លៃ >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "ចុះឈ្មោះ"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ"
@@ -1300,31 +1306,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Ebook-converter បានបរាជ័យ៖ %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1358,212 +1364,212 @@ msgstr "រដ្ឋបាល"
msgid "Password"
msgstr "លេខសម្ងាត់"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "អាប់ឡូដ"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "ទាញយក"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "កែប្រែ"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "លុប"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "ឈ្មោះម៉ាស៊ីន SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "លេខ port SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "អ្នកចូលប្រើ SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "ពីអ៊ីមែល"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "ការកំណត់"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "ទីតាំង database Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr ""
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "លេខ port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "ចំនួនសៀវភៅក្នុងមួយទំព័រ"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "កំពុងអាប់ឡូដ"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr ""
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "ការចុះឈ្មាះសាធារណៈ"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "ការចូលប្រើប្រាស់ពីចម្ងាយ"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "ទីតាំង database Calibre"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "កិច្ចការរដ្ឋបាល"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "ភ្ជាប់ទៅ database Calibre ម្តងទៀត"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr ""
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "រកមើលបច្ចុប្បន្នភាព"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "ធ្វើបច្ចុប្បន្នភាព"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "បាទ/ចាស"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "កំពុងធ្វើបច្ចុប្បន្នភាព សូមកុំបើកទំព័រជាថ្មី"
@@ -1575,39 +1581,39 @@ msgstr "តាមរយៈ"
msgid "In Library"
msgstr "នៅក្នុងបណ្ណាល័យ"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr ""
@@ -1737,9 +1743,9 @@ msgid "Fetch Metadata"
msgstr "មើលទិន្នន័យមេតា"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1762,7 +1768,7 @@ msgstr "កំពុងដំណើរការ..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "បិទ"
@@ -2241,50 +2247,50 @@ msgstr "អនុញ្ញាតឲទាញយក"
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "អនុញ្ញាតឲអាប់ឡូត"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "អនុញ្ញាតឲកែប្រែ"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "អនុញ្ញាតឲលុបសៀវភៅ"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "អនុញ្ញាតឲប្តូរលេខសម្ងាត់"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "អនុញ្ញាតឲកែប្រែធ្នើសាធារណៈ"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "លើកលែងភាសា"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "បង្ហាញសៀវភៅដែលមានភាសា"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "ភាពមើលឃើញដែលមកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "បង្ហាញសៀវភៅចៃដន្យក្នុងការបង្ហាញជាពិស្តារ"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2437,21 +2443,29 @@ msgstr ""
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3056,15 +3070,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "លុបអ្នកប្រើប្រាស់នេះ"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo
index fb07d035..5f2aa6a7 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 84483996..8bbad408 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-12-12 08:20+0100\n"
"Last-Translator: Marcel Maas \n"
"Language: nl\n"
@@ -17,17 +17,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "niet geïnstalleerd"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "geïnstalleerd"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistieken"
@@ -66,17 +66,17 @@ msgstr "Basisconfiguratie"
msgid "UI Configuration"
msgstr "Uiterlijk aanpassen"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Systeembeheerder"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Alles"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Gebruiker niet gevonden"
@@ -84,7 +84,7 @@ msgstr "Gebruiker niet gevonden"
msgid "{} users deleted successfully"
msgstr "{} gebruikers succesvol verwijderd"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Alle talen"
@@ -93,7 +93,7 @@ msgstr "Alle talen"
msgid "Malformed request"
msgstr "Misvormd verzoek"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Gast naam kan niet worden veranderd"
@@ -101,7 +101,7 @@ msgstr "Gast naam kan niet worden veranderd"
msgid "Guest can't have this role"
msgstr "Gast kan deze rol niet hebben"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder"
@@ -272,9 +272,9 @@ msgstr "LDAP Lid Gebruiker Filter heeft een niet-gebalanceerd haakje"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "DB-instellingen niet opgeslagen"
@@ -304,7 +304,7 @@ msgstr "E-mailserver-instellingen bijgewerkt"
msgid "Database Configuration"
msgstr "Databaseconfiguratie"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Vul alle velden in!"
@@ -312,167 +312,167 @@ msgstr "Vul alle velden in!"
msgid "E-mail is not from valid domain"
msgstr "Het e-mailadres bevat geen geldige domeinnaam"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Gebruiker toevoegen"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Gebruiker '%(user)s' aangemaakt"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Gebruiker '%(nick)s' verwijderd"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "Kan Gast gebruiker niet verwijderen"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Kan laatste systeembeheerder niet verwijderen"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Gebruiker '%(nick)s' bewerken"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Gebruiker '%(nick)s' bijgewerkt"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Onbekende fout opgetreden. Probeer het later nog eens."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "SMTP-instellingen bewerken"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "Gmail Account succesvol geverifieerd"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Gelieve eerst je e-mail adres configureren..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "E-mailserver-instellingen bijgewerkt"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Wachtwoord voor gebruiker %(user)s is hersteld"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Stel eerst SMTP-mail in..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Logbestand lezer"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Update opvragen"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Update downloaden"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Update uitpakken"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Update toepassen"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Databaseverbindingen zijn gesloten"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Bezig met stoppen van Calibre-Web"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Update mislukt:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP-fout"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Verbindingsfout"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Time-out tijdens maken van verbinding"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Algemene fout"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Mislukt om minstens een LDAP gebruiker aan te maken"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Het is niet gelukt tenminste een LDAP gebruiker aan te maken"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fout: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Fout: No user returned in response of LDAP server"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minstens een LDAP Gebruiker is niet gevonden in de Database"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} Gebruiker succesvol geïmporteerd"
@@ -484,7 +484,7 @@ msgstr "niet geconfigureerd"
msgid "Execution permissions missing"
msgstr "Kan programma niet uitvoeren"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -497,8 +497,8 @@ msgstr "Het boekformaat is verwijderd"
msgid "Book Successfully Deleted"
msgstr "Het boek is verwijderd"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -535,7 +535,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Database fout: %(error)s."
@@ -693,7 +693,7 @@ msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bestaand account met dit e-mailadres aangetroffen."
@@ -727,34 +727,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "Alleen jpg/jpeg/png/webp/bmp bestanden worden ondersteund als omslag"
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Unrar executable niet gevonden"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Fout bij het uitvoeren van Unrar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Wachten"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Mislukt"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Gestart"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Voltooid"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Onbekende status"
@@ -771,7 +775,7 @@ msgstr "Kobo Instellen"
msgid "Register with %(provider)s"
msgstr "Aanmelden bij %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "je bent ingelogd als: '%(nickname)s'"
@@ -837,7 +841,7 @@ msgid "{} Stars"
msgstr "{} sterren"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Inloggen"
@@ -853,7 +857,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Boeken"
@@ -878,7 +882,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Best beoordeelde boeken"
@@ -887,7 +891,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Gelezen boeken"
@@ -896,7 +900,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Ongelezen boeken"
@@ -914,7 +918,7 @@ msgid "Show Random Books"
msgstr "Willekeurige boeken tonen"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Categorieën"
@@ -924,7 +928,7 @@ msgstr "Categoriekeuze tonen"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Boekenreeksen"
@@ -942,7 +946,7 @@ msgid "Show author selection"
msgstr "Auteurkeuze tonen"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Uitgevers"
@@ -952,7 +956,7 @@ msgstr "Uitgeverskeuze tonen"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Talen"
@@ -976,7 +980,7 @@ msgstr "Bestandsformaten"
msgid "Show file formats selection"
msgstr "Bestandsformaten tonen"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Gearchiveerde boeken"
@@ -984,7 +988,7 @@ msgstr "Gearchiveerde boeken"
msgid "Show archived books"
msgstr "Gearchiveerde boeken tonen"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Boekenlijst"
@@ -1012,9 +1016,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Het boek is toegevoegd aan boekenplank: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1037,58 +1040,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Het boek is verwijderd van boekenplank: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Boekenplank maken"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Je bent niet gemachtigd deze boekenplank aan te passen"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Pas een boekenplank aan"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Boekenplank '%(title)s' aangemaakt"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Boekenplank '%(title)s' is aangepast"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Er is een fout opgetreden"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Volgorde van boekenplank veranderen: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Boekenplank: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Kan boekenplank niet openen: de boekenplank bestaat niet of is ontoegankelijk"
@@ -1121,177 +1127,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Verkennen (willekeurige boeken)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Populaire boeken (meest gedownload)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Gedownloade boeken door %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Auteur: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Uitgever: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Reeks: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Beoordeling: %(rating)s sterren"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Bestandsformaat: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Categorie: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Taal: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Geavanceerd zoeken"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Zoeken"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Beoordelingen"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Alle bestandsformaten"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Taken"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Gepubliceerd na "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Gepubliceerd vóór "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Beoordeling <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Beoordeling >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lees Status = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "Fout tijdens het zoeken van aangepaste kolommen, start Calibre-Web opnieuw op"
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Stel je kindle-e-mailadres in..."
-#: cps/web.py:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registreren"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Dit e-mailadres mag niet worden gebruikt voor registratie"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Kan de LDAP authenticatie niet activeren"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Inloggen mislukt: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Verkeerde gebruikersnaam of wachtwoord"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Een nieuw wachtwoord is verzonden naar je e-mailadres"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Geef een geldige gebruikersnaam op om je wachtwoord te herstellen"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Je bent ingelogd als: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profiel"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profiel bijgewerkt"
@@ -1304,31 +1310,31 @@ msgstr "Geen geldig gmail.json bestand gevonden met OAuth informatie"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre ebook-convert %(tool)s niet gevonden"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "%(format)s formaat is niet gevonden op de schijf"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "E-Book converter mislukt met een onbekende foutmelding"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify-converteerder mislukt: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Omgezette bestand is niet gevonden of meer dan een bestand in map %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "E-boek-conversie mislukt: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre mislukt met foutmelding: %(error)s"
@@ -1362,212 +1368,212 @@ msgstr "Beheer"
msgid "Password"
msgstr "Wachtwoord"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Uploaden"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Downloaden"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Boeken lezen"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Bewerken"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Verwijderen"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Openbare boekenplank"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Gebruiker toevoegen"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "LDAP gebruikers importeren"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "SMTP-serverinstellingen"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP-hostnaam (gebruik mail.example.org om wachtwoordherstel uit te schakelen)"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP-poort"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Encryptie"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP-gebruikersnaam"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Van e-mail"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "E-Mail Service"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail via OAuth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Instellingen"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre-database locatie"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Logniveau"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Poort"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Externe poort"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Aantal boeken per pagina"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Uploaden toestaan"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Anoniem verkennen"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Openbare registratie"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Inloggen op afstand"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Reverse Proxy Login"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Reverse proxy header naam"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Bewerk Calibre databaseconfiguratie"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Bewerk basisconfiguratie"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Bewerk gebruikersinterface configuratie"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Systeembeheer"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Download foutopsporingspakket"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Logboeken bekijken"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Opnieuw verbinden met Calibre database"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Calibre-Web herstarten"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Calibre-Web stoppen"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Bijwerken"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Versie"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Details"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Huidige versie"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Controleren op updates"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Update uitvoeren"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Weet je zeker dat je Calibre-Web wilt herstarten?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Oké"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Annuleren"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Weet je zeker dat je Calibre-Web wilt stoppen?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Bezig met bijwerken, vernieuw de pagina niet"
@@ -1579,39 +1585,39 @@ msgstr "via"
msgid "In Library"
msgstr "In bibliotheek"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Sorteren op datum, nieuwste boeken eerst"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Sorteren op datum, oudste boeken eerst"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Sorteren op alfabetische volgorde"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Sorteren op omgekeerde alfabetische volgorde"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Sorteren op publicatiedatum, nieuwste boeken eerst"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Sorteren op publicatiedatum, oudste boeken eerst"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "beperken"
@@ -1741,9 +1747,9 @@ msgid "Fetch Metadata"
msgstr "Metagegevens ophalen"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Opslaan"
@@ -1766,7 +1772,7 @@ msgstr "Bezig met laden..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Sluiten"
@@ -2247,50 +2253,50 @@ msgstr "Downloads toestaan"
msgid "Allow eBook Viewer"
msgstr "Boeken lezen toestaan"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Uploads toestaan"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Bewerken toestaan"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Verwijderen van boeken toestaan"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Wachtwoord wijzigen toestaan"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Bewerken van openbare boekenplanken toestaan"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Talen uitsluiten"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Taal van boeken"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Standaard zichtbaar voor nieuwe gebruikers"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Willekeurige boeken tonen in gedetailleerde weergave"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Voeg toegestane/geweigerde tags toe"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Voeg toegestane/geweigerde aangepaste kolomwaarden toe"
@@ -2444,21 +2450,29 @@ msgstr "Terug naar startpagina"
msgid "Logout User"
msgstr "Gebruiker uitloggen"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Auteurs sorteren op alfabetische volgorde"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Auteurs sorteren op omgekeerde alfabetische volgorde"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Sorteer oplopend volgens de serie index"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Sorteer aflopend volgens de serie index"
@@ -3067,15 +3081,15 @@ msgstr "Aanmaken/Bekijken"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Voeg toegestane/geweigerde aangepaste kolomwaarden toe"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr "Synchroniseer alleen boeken op geselecteerde boekenplanken met Kobo"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Gebruiker verwijderen"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Genereer Kobo Auth URL"
diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo
index d9f9d7a3..e796b117 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 e50d7f9b..1ecbe85f 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2021-06-12 15:35+0200\n"
"Last-Translator: Radosław Kierznowski \n"
"Language: pl\n"
@@ -17,17 +17,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "nie zainstalowane"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "zainstalowane"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statystyki"
@@ -67,17 +67,17 @@ msgstr "Konfiguracja podstawowa"
msgid "UI Configuration"
msgstr "Konfiguracja Interfejsu"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "Edytuj użytkowników"
# ???
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Wszystko"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Nie znaleziono użytkownika"
@@ -85,7 +85,7 @@ msgstr "Nie znaleziono użytkownika"
msgid "{} users deleted successfully"
msgstr "{} użytkowników usuniętych pomyślnie"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Pokaż wszystkie"
@@ -94,7 +94,7 @@ msgstr "Pokaż wszystkie"
msgid "Malformed request"
msgstr "Nieprawidłowo sformułowane żądanie"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Nazwa gościa nie może być zmieniona"
@@ -102,7 +102,7 @@ msgstr "Nazwa gościa nie może być zmieniona"
msgid "Guest can't have this role"
msgstr "Gość nie może pełnić tej roli"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
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"
@@ -272,9 +272,9 @@ msgstr "Filtr użytkownika członka LDAP ma niedopasowane nawiasy"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "Ustawienia Bazy Danych nie są zapisywalne"
@@ -303,7 +303,7 @@ msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
msgid "Database Configuration"
msgstr "Konfiguracja bazy danych"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Proszę wypełnić wszystkie pola!"
@@ -311,169 +311,169 @@ msgstr "Proszę wypełnić wszystkie pola!"
msgid "E-mail is not from valid domain"
msgstr "E-mail nie pochodzi z prawidłowej domeny"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Dodaj nowego użytkownika"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Użytkownik '%(user)s' został utworzony"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Użytkownik '%(nick)s' został usunięty"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
#, fuzzy
msgid "Can't delete Guest User"
msgstr "Nie można usunąć użytkownika gościa"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
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:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Edytuj użytkownika %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Użytkownik '%(nick)s' został zaktualizowany"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Zmień ustawienia SMTP"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "Weryfikacja konta Gmail przebiegła pomyślnie"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Najpierw skonfiguruj swój adres e-mail..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Zaktualizowano ustawienia serwera poczty e-mail"
# ???
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Zrestartowano hasło użytkownika %(user)s"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Przeglądanie dziennika"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Żądanie o pakiet aktualizacji"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Pobieranie pakietu aktualizacji"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Rozpakowywanie pakietu aktualizacji"
# ???
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Zastępowanie plików"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Połączenia z bazą danych zostały zakończone"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Zatrzymywanie serwera"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Aktualizacja nieudana:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Błąd HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Błąd połączenia"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Przekroczono limit czasu podczas nawiązywania połączenia"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Błąd ogólny"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Plik aktualizacji nie mógł zostać zapisany w katalogu tymczasowym"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Błąd: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
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:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} Użytkownik pomyślnie zaimportowany"
@@ -485,7 +485,7 @@ msgstr "nie skonfigurowane"
msgid "Execution permissions missing"
msgstr "Brak uprawnienia do wykonywania pliku"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -498,8 +498,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:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -536,7 +536,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Błąd bazy danych: %(error)s."
@@ -696,7 +696,7 @@ msgstr "Nie znaleziono pliku %(file)s na Google Drive"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "Znaleziono istniejące konto dla tego adresu e-mail"
@@ -729,34 +729,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Plik wykonywalny programu unrar nie znaleziony"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Błąd przy wykonywaniu unrar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Oczekiwanie"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Nieudane"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Rozpoczynanie"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Zakończone"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Ststus nieznany"
@@ -774,7 +778,7 @@ msgstr "Konfiguracja Kobo"
msgid "Register with %(provider)s"
msgstr "Zarejestruj się %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "zalogowałeś się jako: '%(nickname)s'"
@@ -840,7 +844,7 @@ msgid "{} Stars"
msgstr "{} Gwiazdek"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Zaloguj się"
@@ -856,7 +860,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Książki"
@@ -881,7 +885,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Najwyżej ocenione"
@@ -890,7 +894,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Przeczytane"
@@ -899,7 +903,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Nieprzeczytane"
@@ -917,7 +921,7 @@ msgid "Show Random Books"
msgstr "Pokazuj losowe książki"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategorie"
@@ -927,7 +931,7 @@ msgstr "Pokaż menu wyboru kategorii"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Cykle"
@@ -945,7 +949,7 @@ msgid "Show author selection"
msgstr "Pokaż menu wyboru autora"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Wydawcy"
@@ -955,7 +959,7 @@ msgstr "Pokaż menu wyboru wydawcy"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Języki"
@@ -979,7 +983,7 @@ msgstr "Formaty plików"
msgid "Show file formats selection"
msgstr "Pokaż menu formatu plików"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Zarchiwizowane książki"
@@ -987,7 +991,7 @@ msgstr "Zarchiwizowane książki"
msgid "Show archived books"
msgstr "Pokaż zarchiwizowane książki"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Lista książek"
@@ -1015,9 +1019,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Książka została dodana do półki: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1040,58 +1043,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Książka została usunięta z półki: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Utwórz półkę"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Edytuj półkę"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Półka %(title)s została utworzona"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Półka %(title)s została zmieniona"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Wystąpił błąd"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Zmieniono kolejność półki: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Półka: „%(name)s”"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1124,178 +1130,178 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Odkrywaj (losowe książki)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Najpopularniejsze książki (najczęściej pobierane)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Książki pobrane przez %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Wydawca: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Cykl: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Ocena: %(rating)s gwiazdek"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Format pliku: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategoria: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Język: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Wyszukiwanie"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Szukaj"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Lista z ocenami"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Lista formatów"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Zadania"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Opublikowane po "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Opublikowane przed "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Ocena <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Ocena >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status przeczytania = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
#, 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:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Najpierw skonfiguruj adres e-mail Kindle..."
-#: cps/web.py:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Zarejestruj się"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Twój e-mail nie może się zarejestrować"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Nie można aktywować uwierzytelniania LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Nie można zalogować: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Błędna nazwa użytkownika lub hasło"
-#: cps/web.py:1555
+#: cps/web.py:1581
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:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Wprowadź prawidłową nazwę użytkownika, aby zresetować hasło"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Jesteś teraz zalogowany jako: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Profil użytkownika %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Zaktualizowano profil"
@@ -1308,31 +1314,31 @@ msgstr "Nie znaleziono poprawnego pliku gmail.json z informacjami OAuth"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Nie znaleziono narzędzia calibre %(tool)s do konwertowania"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "Nie znaleziono na dysku formatu %(format)s"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "Konwertowanie ebooka zakończyło się niepowodzeniem z nieznanego powodu"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify-converter spowodowało błąd: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Konwertowany plik nie został znaleziony, lub więcej niż jeden plik w folderze %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Konwertowanie nie powiodło się: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, fuzzy, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre nie powiodło się z błędem: %(error)s"
@@ -1367,213 +1373,213 @@ msgstr "Panel administratora"
msgid "Password"
msgstr "Hasło"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Wysyłanie"
# ???
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Pobieranie"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Przeglądanie"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Edycja"
# ???
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Usuń"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Półka publiczna"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Dodaj nowego użytkownika"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importuj użytkowników LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Ustawienia serwera e-mail SMTP"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "Adres serwera SMTP"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "Port serwera SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Nazwa użytkownika SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Wyślij z adresu e-mail"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "Usługa e-mail"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail przez Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Konfiguracja"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Folder bazy danych Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Poziom dziennika"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Port zewnętrzny"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Liczba książek na stronie"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Wysyłanie"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Anonimowe przeglądanie"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Publiczna rejestracja"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Zdalne logowanie (Magic Link)"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Logowanie reverse proxy"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Nazwa nagłowka reverse proxy"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr "Edytuj konfigurację bazy danych Calibre"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Edytuj podstawową konfigurację"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Edytuj konfigurację interfejsu"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Zarządzanie"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Pobierz pakiet Debug"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Podgląd dziennika"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Połącz ponownie z bazą danych Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Uruchom ponownie Calibre Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Zatrzymaj Calibre Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Update (aktualizacja)"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Wersja"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Szczegóły"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Bieżąca wersja"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Sprawdź aktualizacje"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Wykonaj aktualizację"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Na pewno chcesz uruchomić ponownie Calibre Web?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "OK"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Anuluj"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Na pewno chcesz zatrzymać Calibre Web?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Aktualizowanie, proszę nie odświeżać strony"
@@ -1585,39 +1591,39 @@ msgstr "przez"
msgid "In Library"
msgstr "W Bibliotece"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Sortuj książki według daty, najnowsze jako pierwsze"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Sortuj książki według daty, najstarsze jako pierwsze"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Sortuj tytuły w porządku alfabetycznym"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Sortuj tytuły w odwrotnym porządku alfabetycznym"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Sortuj według daty publikacji, najnowsze jako pierwsze"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Sortuj według daty publikacji, najstarsze jako pierwsze"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "zwiń"
@@ -1748,9 +1754,9 @@ msgid "Fetch Metadata"
msgstr "Uzyskaj metadane"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Zapisz"
@@ -1773,7 +1779,7 @@ msgstr "Ładowanie..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Zamknij"
@@ -2259,50 +2265,50 @@ msgstr "Zezwalaj na pobieranie"
msgid "Allow eBook Viewer"
msgstr "Zezwalaj na przeglądanie e-booków"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Zezwalaj na wysyłanie"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Zezwalaj na edycję"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Zezwalaj na usuwanie książek"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Zezwalaj na zmianę hasła"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Zezwalaj na edycję półek publicznych"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Wyklucz języki"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Pokaż książki w języku"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Domyślne ustawienia widoku dla nowych użytkowników"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Pokaz losowe książki w widoku szczegółowym"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Dodaj dozwolone/zabronione etykiety"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Dodaj dozwolone/zabronione wartości własnych kolumn"
@@ -2458,21 +2464,29 @@ msgstr "Powrót do głównego menu"
msgid "Logout User"
msgstr "Wyloguj użytkownika"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Sortuj autorów w porządku alfabetycznym"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Posortuj autorów w odwrotnym porządku alfabetycznym"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Sortuj rosnąco według indeksu serii"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Sortuj malejąco według indeksu serii"
@@ -3083,15 +3097,15 @@ msgstr "Utwórz/Przeglądaj"
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:134
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:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Usuń tego użytkownika"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Generuj Kobo Auth URL"
diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo
index 47fddac2..d1f3e954 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 6a9a773b..d2bcdb06 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language: br\n"
@@ -13,17 +13,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "não instalado"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "instalado"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Estatística"
@@ -62,17 +62,17 @@ msgstr "Configuração Básica"
msgid "UI Configuration"
msgstr "Configuração de UI"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Usuário Admin"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Todos"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Usuário não encontrado"
@@ -81,7 +81,7 @@ msgstr "Usuário não encontrado"
msgid "{} users deleted successfully"
msgstr "{} Usuário Importado com Sucesso"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Mostrar tudo"
@@ -90,7 +90,7 @@ msgstr "Mostrar tudo"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
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"
@@ -270,9 +270,9 @@ msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "O banco de dados de configurações não é gravável"
@@ -302,7 +302,7 @@ msgstr "Atualização das configurações do servidor de e-mail"
msgid "Database Configuration"
msgstr "Configuração das Características"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Por favor, preencha todos os campos!"
@@ -310,167 +310,167 @@ msgstr "Por favor, preencha todos os campos!"
msgid "E-mail is not from valid domain"
msgstr "O e-mail não é de um domínio válido"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Adicionar novo usuário"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Usuário '%(user)s' criado"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Usuário '%(nick)s' excluído"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
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:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Editar usuário %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Usuário '%(nick)s' atualizado"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Editar configurações do servidor de e-mail"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Por favor, configure seu endereço de e-mail primeiro..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Atualização das configurações do servidor de e-mail"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Senha para redefinição do usuário %(user)s"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Por favor, configure primeiro as configurações de correio SMTP..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "visualizador de arquivo de registro"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Solicitação de pacote de atualização"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Download do pacote de atualização"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Descompactação de pacote de atualização"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Substituição de arquivos"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "As ligações à base de dados estão fechadas"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Parar servidor"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Atualização concluída, pressione okay e recarregue a página"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Atualização falhou:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Erro HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Erro de conexão"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Tempo limite durante o estabelecimento da conexão"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Erro geral"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
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:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Falha na criação no mínimo de um usuário LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
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:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Erro: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Erro: Nenhum usuário retornado em resposta do servidor LDAP"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
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:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} Usuário Importado com Sucesso"
@@ -482,7 +482,7 @@ msgstr "não configurado"
msgid "Execution permissions missing"
msgstr "Faltam as permissões de execução"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -495,8 +495,8 @@ msgstr "Formato do Livro Eliminado com Sucesso"
msgid "Book Successfully Deleted"
msgstr "Livro Eliminado com Sucesso"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -533,7 +533,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Erro de banco de dados: %(error)s."
@@ -691,7 +691,7 @@ msgstr "Arquivo %(file)s não encontrado no Google Drive"
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:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Encontrado uma conta existente para este endereço de e-mail."
@@ -725,34 +725,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Unrar arquivo binário não encontrado"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Erro excecutando UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Aguardando"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Falha"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Iniciado em"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Concluído"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Status Desconhecido"
@@ -769,7 +773,7 @@ msgstr "Configuração Kobo"
msgid "Register with %(provider)s"
msgstr "Registre-se com %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "agora você está logado como: '%(nickname)s'"
@@ -835,7 +839,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Login"
@@ -851,7 +855,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Livros"
@@ -876,7 +880,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Livros Mais Bem Avaliados"
@@ -885,7 +889,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Livros Lidos"
@@ -894,7 +898,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Livros Não Lidos"
@@ -912,7 +916,7 @@ msgid "Show Random Books"
msgstr "Mostrar Livros Aleatórios"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Categorias"
@@ -922,7 +926,7 @@ msgstr "Mostrar seleção de categoria"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Série"
@@ -940,7 +944,7 @@ msgid "Show author selection"
msgstr "Mostrar selecção de autor"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Editores"
@@ -950,7 +954,7 @@ msgstr "Mostrar selecção de editores"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Idiomas"
@@ -974,7 +978,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Livros Arquivados"
@@ -982,7 +986,7 @@ msgstr "Livros Arquivados"
msgid "Show archived books"
msgstr "Mostrar livros arquivados"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Lista de Livros"
@@ -1010,9 +1014,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "O livro foi adicionado à estante: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1035,58 +1038,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "O livro foi removido da estante: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Crie uma estante"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Editar uma estante"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Estante %(title)s criada"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Estante %(title)s alterada"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Houve um erro"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Alterar ordem da Estante: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Estante: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1119,177 +1125,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Descobrir (Livros Aleatórios)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Hot Books (Os Mais Descarregados)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Livros baixados por %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Autor: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Editor: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Série: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Avaliação: %(rating)s estrelas"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Formato do arquivo: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Categoria: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Idioma: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Pesquisa Avançada"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Pesquisa"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Downloads"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Lista de classificações"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Lista de formatos de arquivo"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Tarefas"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Publicado depois de "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Publicado antes de "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Avaliação <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Avaliação >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Status de leitura = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Livro enfileirado com sucesso para envio para %(kindlemail)s"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registe-se"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Seu e-mail não tem permissão para registrar"
-#: cps/web.py:1502
+#: cps/web.py:1528
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:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Não é possível ativar a autenticação LDAP"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, 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:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Não foi possível fazer o login: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Nome de usuário ou senha incorretos"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Nova senha foi enviada para seu endereço de e-mail"
-#: cps/web.py:1561
+#: cps/web.py:1587
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:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Você agora está logado como: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Perfil de %(name)s's"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Perfil atualizado"
@@ -1302,31 +1308,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre ebook-convert %(tool)s não encontrado"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "Formato %(format)s não encontrado no disco"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "O conversor de Ebook falhou com erro desconhecido"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "O conversor de Kepubify falhou: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Arquivo convertido não encontrado ou mais de um arquivo na pasta %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Conversor de ebook falhou: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre falhou com erro: %(error)s"
@@ -1360,212 +1366,212 @@ msgstr "Admin"
msgid "Password"
msgstr "Senha"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Upload"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Baixar"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Ver Livros"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Editar"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Eliminar"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Estante Pública"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Adicionar Novo Usuário"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importar usuários LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Configurações do servidor de e-mail"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP Nome do anfitrião"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "Porto SMTP"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Criptografia"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "Login SMTP"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Do E-mail"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Configuração"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Diretório do Banco de Dados de Calibres"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Nível de registo"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Porto"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Porto externo"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Livros por página"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Uploads"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Navegação Anónima"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Inscrição Pública"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Login remoto Magic Link"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Login de Proxy Reversa"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Nome do cabeçalho do Proxy Reverso"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Editar Configuração Básica"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Editar Configuração Básica"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Editar configuração da IU"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Administração"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Download do Pacote de Depuração"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Ver Logs"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Reconectar base de dados de calibração"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Reinicie"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Encerramento"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Atualização"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Versão"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Detalhes"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Versão atual"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Verificar Atualizações"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Realizar Atualizações"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Tem a certeza que quer recomeçar?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Cancelar"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Tens a certeza que queres fechar?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Atualizando, por favor, não recarregue esta página"
@@ -1577,39 +1583,39 @@ msgstr "via"
msgid "In Library"
msgstr "Na Biblioteca"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Classificar de acordo com a data do livro, o mais recente primeiro"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Classificar de acordo com a data do livro, o mais antigo primeiro"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Classificar título em ordem alfabética"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Classificar título em ordem alfabética inversa"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Classificar de acordo com a data de publicação, o mais novo primeiro"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Classificar de acordo com a data de publicação, primeiro mais antigo"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "reduzir"
@@ -1739,9 +1745,9 @@ msgid "Fetch Metadata"
msgstr "Buscar Metadados"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Salvar"
@@ -1764,7 +1770,7 @@ msgstr "A carregar..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Fechar"
@@ -2245,50 +2251,50 @@ msgstr "Permitir Downloads"
msgid "Allow eBook Viewer"
msgstr "Permitir que o eBook Viewer"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Permitir Uploads"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Permitir Editar"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Permitir Livros Excluídos"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Permitir mudança de senha"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Permitir a Edição de Prateleiras Públicas"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Excluir idiomas"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Língua dos Livros"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Visibilidades por defeito para novos utilizadores"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Mostrar Livros Aleatórios em Vista de Detalhe"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Adicionar Etiquetas permitidas/negadas"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Adicionar valores permitidos/negados da coluna personalizada"
@@ -2442,21 +2448,29 @@ msgstr "Voltar para casa"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Ordenar os autores em ordem alfabética"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Ordenar os autores em ordem alfabética inversa"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Ordenar ascendente de acordo com o índice de série"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Ordenação decrescente de acordo com o índice de série"
@@ -3065,15 +3079,15 @@ msgstr "Criar/Ver"
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:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Eliminar Utilizador"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Gerar o Kobo Auth URL"
diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo
index f712f2a5..486bb167 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 705c61ff..0f75ad17 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-04-29 01:20+0400\n"
"Last-Translator: ZIZA\n"
"Language: ru\n"
@@ -17,17 +17,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "не установлено"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "установлено"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Статистика"
@@ -66,17 +66,17 @@ msgstr "Настройки сервера"
msgid "UI Configuration"
msgstr "Настройка интерфейса"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Управление сервером"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Все"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -84,7 +84,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Показать все"
@@ -93,7 +93,7 @@ msgstr "Показать все"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -101,7 +101,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -273,9 +273,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -305,7 +305,7 @@ msgstr "Настройки E-mail сервера обновлены"
msgid "Database Configuration"
msgstr "Дополнительный Настройки"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Пожалуйста, заполните все поля!"
@@ -313,167 +313,167 @@ msgstr "Пожалуйста, заполните все поля!"
msgid "E-mail is not from valid domain"
msgstr "E-mail не из существующей доменной зоны"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Добавить пользователя"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Пользователь '%(user)s' добавлен"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, fuzzy
msgid "Found an existing account for this e-mail address or name."
msgstr "Для этого адреса электронной почты или логина уже есть учётная запись."
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Пользователь '%(nick)s' удалён"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Это последний администратор, невозможно удалить пользователя"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Изменить пользователя %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Пользователь '%(nick)s' обновлён"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Неизвестная ошибка. Попробуйте позже."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Изменить настройки SMTP"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "Произошла ошибка при отправке тестового письма на: %(res)s"
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "Настройки E-mail сервера обновлены"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Пароль для пользователя %(user)s сброшен"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Пожалуйста, сперва настройте параметры SMTP....."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Просмотр лога"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Проверка обновлений"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Загрузка обновлений"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Распаковка обновлений"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Замена файлов"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Соединения с базой данных закрыты"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Остановка сервера"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Обновления установлены, нажмите ок и перезагрузите страницу"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Ошибка обновления:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "Ошибка HTTP"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Ошибка соединения"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Тайм-аут при установлении соединения"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Общая ошибка"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Не удалось сохранить файл обновления во временной папке."
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Не удалось создать хотя бы одного пользователя LDAP"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Ошибка: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "По крайней мере, один пользователь LDAP не найден в базе данных"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -485,7 +485,7 @@ msgstr "не настроено"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -498,8 +498,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Невозможно открыть книгу. Файл не существует или недоступен"
@@ -536,7 +536,7 @@ msgstr "Ошибка при создании пути %(path)s (Доступ з
msgid "Failed to store file %(file)s."
msgstr "Не удалось сохранить файл %(file)s."
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -694,7 +694,7 @@ msgstr "Файл %(file)s не найден на Google Drive"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Путь книги %(path)s не найден на Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Этот адрес электронной почты уже зарегистрирован."
@@ -728,34 +728,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Ожидание"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Неудачно"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Начало"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Завершено"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Неизвестный статус"
@@ -772,7 +776,7 @@ msgstr "Настройка Kobo"
msgid "Register with %(provider)s"
msgstr "Зарегистрируйтесь с %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "вы вошли как пользователь '%(nickname)s'"
@@ -838,7 +842,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Логин"
@@ -854,7 +858,7 @@ msgstr "Ключ просрочен"
msgid "Success! Please return to your device"
msgstr "Успешно! Пожалуйста, проверьте свое устройство"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Книги"
@@ -879,7 +883,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Книги с наилучшим рейтингом"
@@ -888,7 +892,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Прочитанные Книги"
@@ -897,7 +901,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Непрочитанные Книги"
@@ -915,7 +919,7 @@ msgid "Show Random Books"
msgstr "Показывать Случайные Книги"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Категории"
@@ -925,7 +929,7 @@ msgstr "Показывать выбор категории"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Серии"
@@ -943,7 +947,7 @@ msgid "Show author selection"
msgstr "Показывать выбор автора"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Издатели"
@@ -953,7 +957,7 @@ msgstr "Показать выбор издателя"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Языки"
@@ -977,7 +981,7 @@ msgstr "Форматы файлов"
msgid "Show file formats selection"
msgstr "Показать выбор форматов файлов"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -985,7 +989,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1013,9 +1017,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга добавлена на книжную полку: %(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
-msgstr "Вам не разрешено добавлять книгу на полку: %(name)s"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1038,58 +1041,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга удалена с полки: %(sname)s"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "Извините, вы не можете удалить книгу с полки: %(sname)s"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Создать полку"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Извините, вы не можете удалить книгу с полки: %(sname)s"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Изменить полку"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Создана полка %(title)s"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Колка %(title)s изменена"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Произошла ошибка"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "Публичная полка с названием '%(title)s' уже существует."
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "Приватная полка с названием '%(title)s' уже существует."
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Изменить расположение полки '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Полка: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Ошибка открытия Полки. Полка не существует или недоступна"
@@ -1122,177 +1128,177 @@ msgstr "Новое обновление доступно. Нажмите на к
msgid "No release information available"
msgstr "Информация о выпуске недоступна"
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Обзор (Случайные Книги)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Популярные книги (часто загружаемые)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Автор: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Издатель: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Серии: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Оценка: %(rating)s звезды(а)"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Формат файла: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Категория: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Язык: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Расширенный поиск"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Поиск"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Скачать"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Список рейтингов"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Список форматов файлов"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Задания"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Опубликовано после "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Опубликовано до "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Рейтинг <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Рейтинг >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "При отправке этой книги произошла ошибка: %(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..."
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "Сервер электронной почты не настроен, обратитесь к администратору !"
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Зарегистрироваться"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Ваш e-mail не подходит для регистрации"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Письмо с подтверждением отправлено вам на e-mail."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Не удается активировать LDAP аутентификацию"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "Резервный вход в систему как: '%(nickname)s', LDAP-сервер недоступен или пользователь не известен"
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Не удалось войти: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Ошибка в имени пользователя или пароле"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Новый пароль был отправлен на ваш адрес электронной почты"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Вы вошли как: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Профиль %(name)s's"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Профиль обновлён"
@@ -1305,31 +1311,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "Ошибка Ebook-конвертора: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1363,212 +1369,212 @@ msgstr "Управление"
msgid "Password"
msgstr "Пароль"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Загрузить"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Скачать"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Посмотреть электронные книги"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Редактировать"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Удалить"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Добавить нового пользователя"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Импорт пользователей LDAP"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Настройки SMTP-сервера"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP-сервер"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP-порт"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP-логин"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Отправитель"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Настройки сервера"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Расположение базы данных Calibre"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Уровень логирования"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Порт"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Количество книг на странице"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Загрузка на сервер"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Анонимный просмотр"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Публичная регистрация"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Удалённый логин"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Логин обратного прокси"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Имя заголовка обратного прокси"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Изменить основные настройки"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Изменить основные настройки"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Изменить настройки интерфейса"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Управление"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Просмотреть лог файл"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Пере подключиться к базе жанных Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Перезагрузить Calibre-Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Остановить Calibre-Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Обновление"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Версия"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Подробности"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Текущая версия"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Проверка обновлений"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Установить обновления"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Вы действительно хотите перезагрузить Calibre-Web?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Отмена"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Вы действительно хотите остановить Calibre-Web?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Установка обновлений, пожалуйста, не обновляйте страницу"
@@ -1580,39 +1586,39 @@ msgstr "с помощью"
msgid "In Library"
msgstr "В библиотеке"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "уменьшить"
@@ -1742,9 +1748,9 @@ msgid "Fetch Metadata"
msgstr "Получить метаданные"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Сохранить"
@@ -1767,7 +1773,7 @@ msgstr "Загрузка..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Закрыть"
@@ -2248,50 +2254,50 @@ msgstr "Разрешить скачивание с сервера"
msgid "Allow eBook Viewer"
msgstr "Разрешить чтение книг"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Разрешить загрузку на сервер"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Разрешить редактирование книг"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Разрешить удаление книг"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Разрешить смену пароля"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Разрешить редактирование публичных книжных полок"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Исключить языки"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Показать книги на языках"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Видимость для новых пользователей(по умолчанию)"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Показывать случайные книги при просмотре деталей"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Добавить разрешенные / запрещенные теги"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
@@ -2445,21 +2451,29 @@ msgstr "Вернуться на главную"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3068,15 +3082,15 @@ msgstr "Создать/Просмотреть"
msgid "Add allowed/Denied Custom Column Values"
msgstr "Добавить разрешенные / запрещенные значения индивидуальных столбцов"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Удалить этого пользователя"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Создать Kobo Auth URL"
diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo
index 209d5f4a..8ff53494 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 a2e8c72f..71389676 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2021-05-13 11:00+0000\n"
"Last-Translator: Jonatan Nyberg \n"
"Language: sv\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "inte installerad"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "installerad"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Statistik"
@@ -65,16 +65,16 @@ msgstr "Grundläggande konfiguration"
msgid "UI Configuration"
msgstr "Användargränssnitt konfiguration"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "Redigera användare"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Alla"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "Användaren hittades inte"
@@ -82,7 +82,7 @@ msgstr "Användaren hittades inte"
msgid "{} users deleted successfully"
msgstr "{} användare har tagits bort"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Visa alla"
@@ -91,7 +91,7 @@ msgstr "Visa alla"
msgid "Malformed request"
msgstr "Felaktig begäran"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "Gästnamn kan inte ändras"
@@ -99,7 +99,7 @@ msgstr "Gästnamn kan inte ändras"
msgid "Guest can't have this role"
msgstr "Gäst kan inte ha den här rollen"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "Ingen administratörsanvändare kvar, kan inte ta bort administratörsrollen"
@@ -270,9 +270,9 @@ msgstr "Användarfilter för LDAP-medlemmar har omatchad parentes"
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:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "Inställningar för DB är inte skrivbara"
@@ -302,7 +302,7 @@ msgstr "E-postserverinställningar uppdaterade"
msgid "Database Configuration"
msgstr "Funktion konfiguration"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Fyll i alla fält!"
@@ -310,167 +310,167 @@ msgstr "Fyll i alla fält!"
msgid "E-mail is not from valid domain"
msgstr "E-posten är inte från giltig domän"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Lägg till ny användare"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Användaren '%(user)s' skapad"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Användaren '%(nick)s' borttagen"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "Det går inte att ta bort gästanvändaren"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Redigera användaren %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Användaren '%(nick)s' uppdaterad"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Ett okänt fel uppstod. Försök igen senare."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Ändra SMTP-inställningar"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
#, fuzzy
msgid "Gmail Account Verification Successful"
msgstr "Verifiering av G-mail-kontot lyckades"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, 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:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Vänligen konfigurera din e-postadress först..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "E-postserverinställningar uppdaterade"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "Lösenord för användaren %(user)s återställd"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Konfigurera SMTP-postinställningarna först..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Visaren för loggfil"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Begär uppdateringspaketet"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Hämtar uppdateringspaketet"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Packar upp uppdateringspaketet"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Ersätta filer"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Databasanslutningarna är stängda"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Stoppar server"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Uppdatering klar, tryck på okej och uppdatera sidan"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Uppdateringen misslyckades:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP-fel"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Anslutningsfel"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Tiden ute när du etablerade anslutning"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Allmänt fel"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "Uppdateringsfilen kunde inte sparas i Temp Dir"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
#, fuzzy
msgid "Failed to extract at least One LDAP User"
msgstr "Det gick inte att skapa minst en LDAP-användare"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "Det gick inte att skapa minst en LDAP-användare"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "Fel: %(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "Fel: Ingen användare återges som svar på LDAP-servern"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "Minst en LDAP-användare hittades inte i databasen"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} användare har importerats"
@@ -482,7 +482,7 @@ msgstr "inte konfigurerad"
msgid "Execution permissions missing"
msgstr "Körningstillstånd saknas"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, 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"
@@ -495,8 +495,8 @@ msgstr "Bokformat har tagits bort"
msgid "Book Successfully Deleted"
msgstr "Boken har tagits bort"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
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"
@@ -533,7 +533,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:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "Databasfel: %(error)s."
@@ -691,7 +691,7 @@ msgstr "Filen %(file)s hittades inte på Google Drive"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Boksökvägen %(path)s hittades inte på Google Drive"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "Hittade ett befintligt konto för den här e-postadressen"
@@ -724,34 +724,38 @@ 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:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "Endast jpg/jpeg-filer stöds som omslagsfil"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "Unrar binär fil hittades inte"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "Fel vid körning av UnRar"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Väntar"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Misslyckades"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Startad"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Klar"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Okänd status"
@@ -768,7 +772,7 @@ msgstr "Kobo-installation"
msgid "Register with %(provider)s"
msgstr "Registrera dig med %(provider)s"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "du är nu inloggad som: \"%(nickname)s\""
@@ -834,7 +838,7 @@ msgid "{} Stars"
msgstr "{} stjärnor"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Logga in"
@@ -850,7 +854,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "Böcker"
@@ -875,7 +879,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:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Bäst rankade böcker"
@@ -884,7 +888,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Lästa böcker"
@@ -893,7 +897,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Olästa böcker"
@@ -911,7 +915,7 @@ msgid "Show Random Books"
msgstr "Visa slumpmässiga böcker"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategorier"
@@ -921,7 +925,7 @@ msgstr "Visa kategorival"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Serier"
@@ -939,7 +943,7 @@ msgid "Show author selection"
msgstr "Visa författarval"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Förlag"
@@ -949,7 +953,7 @@ msgstr "Visa urval av förlag"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Språk"
@@ -973,7 +977,7 @@ msgstr "Filformat"
msgid "Show file formats selection"
msgstr "Visa val av filformat"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "Arkiverade böcker"
@@ -981,7 +985,7 @@ msgstr "Arkiverade böcker"
msgid "Show archived books"
msgstr "Visa arkiverade böcker"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "Boklista"
@@ -1009,9 +1013,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Boken har lagts till i hyllan: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1034,58 +1037,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Boken har tagits bort från hyllan: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Skapa en hylla"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Redigera en hylla"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Hyllan %(title)s skapad"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Hyllan %(title)s ändrad"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Det fanns ett fel"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, 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:312
#, 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:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Ändra ordning på hyllan: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Hylla: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1118,177 +1124,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Upptäck (slumpmässiga böcker)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Heta böcker (mest hämtade)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "Hämtade böcker av %(user)s"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Författare: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Förlag: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Serier: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Betyg: %(rating)s stars"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Filformat: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Språk: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Avancerad sökning"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Sök"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "Hämtningar"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Betygslista"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Lista över filformat"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Uppgifter"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Publicerad efter "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Publicerad före "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Betyg <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Betyg >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "Lässtatus = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, 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:1447
+#: cps/web.py:1473
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:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Registrera"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "Din e-post är inte tillåten att registrera"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Bekräftelsemail skickades till ditt e-postkonto."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "Det går inte att aktivera LDAP-autentisering"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "Det gick inte att logga in: %(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Fel användarnamn eller lösenord"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Nytt lösenord skickades till din e-postadress"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "Ange giltigt användarnamn för att återställa lösenordet"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Du är nu inloggad som: \"%(nickname)s\""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)ss profil"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profilen uppdaterad"
@@ -1301,31 +1307,31 @@ msgstr "Hittade ingen giltig gmail.json-fil med OAuth-information"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "calibre e-bokkonverterings %(tool)s hittades inte"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "%(format)s-format hittades inte på disken"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "E-bokkonverteraren misslyckades med okänt fel"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify-konverteraren misslyckades: %(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "Konverterad fil hittades inte eller mer än en fil i mappen %(folder)s"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "E-bokkonverteraren misslyckades: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "calibre misslyckades med fel: %(error)s"
@@ -1359,212 +1365,212 @@ msgstr "Administratör"
msgid "Password"
msgstr "Lösenord"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Ladda upp"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Hämta"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "Visa e-böcker"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Redigera"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Ta bort"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "Publik hylla"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "Lägg till ny användare"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "Importera LDAP-användare"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "Inställningar för SMTP-e-postserver"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP-värdnamn"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP-port"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP-inloggning"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Från meddelande"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "E-posttjänst"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "Gmail via Oauth2"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Konfiguration"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre DB dir"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Loggnivå"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "Extern port"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Böcker per sida"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Laddar upp"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Anonym surfning"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Publik registrering"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "Fjärrinloggning"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "Omvänd proxy inloggning"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Omvänt proxy rubriknamn"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Redigera grundläggande konfiguration"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "Redigera grundläggande konfiguration"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "Redigera UI-konfiguration"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Administration"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "Hämta felsökningspaketet"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "Visa loggfiler"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Anslut till Calibre DB igen"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "Starta om Calibre-Web"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "Stoppa Calibre-Web"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Uppdatera"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Version"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Detaljer"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Aktuell version"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Sök efter uppdatering"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Utför uppdatering"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "Är du säker på att du vill starta om Calibre-Web?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "Avbryt"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "Är du säker på att du vill stoppa Calibre-Web?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Uppdaterar, vänligen uppdatera inte sidan"
@@ -1576,39 +1582,39 @@ msgstr "via"
msgid "In Library"
msgstr "I biblioteket"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "Sortera efter bokdatum, nyast först"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "Sortera efter bokdatum, äldsta först"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "Sortera titel i alfabetisk ordning"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "Sortera titel i omvänd alfabetisk ordning"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "Sortera efter publiceringsdatum, nyast först"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "Sortera efter publiceringsdatum, äldsta först"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "minska"
@@ -1738,9 +1744,9 @@ msgid "Fetch Metadata"
msgstr "Hämta metadata"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "Spara"
@@ -1763,7 +1769,7 @@ msgstr "Läser in..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Stäng"
@@ -2244,50 +2250,50 @@ msgstr "Tillåt Hämtningar"
msgid "Allow eBook Viewer"
msgstr "Tillåt bokvisare"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Tillåt Uppladdningar"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Tillåt Redigera"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "Tillåt borttagning av böcker"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Tillåt Ändra lösenord"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Tillåt Redigering av offentliga hyllor"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Uteslut språk"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Visa böcker med språk"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Standardvisibiliteter för nya användare"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Visa slumpmässiga böcker i detaljvyn"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "Lägg till tillåtna/avvisade taggar"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "Lägg till tillåtna/avvisade anpassade kolumnvärden"
@@ -2442,21 +2448,29 @@ msgstr "Tillbaka till hemmet"
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "Sortera författare i alfabetisk ordning"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "Sortera författare i omvänd alfabetisk ordning"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "Sortera stigande enligt serieindex"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "Sortera fallande enligt serieindex"
@@ -3063,15 +3077,15 @@ msgstr "Skapa/Visa"
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:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Ta bort den här användaren"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "Skapa Kobo Auth URL"
diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo
index 410fa719..4b905164 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 d108c2c3..6abf48bb 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-04-23 22:47+0300\n"
"Last-Translator: iz \n"
"Language: tr\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "yüklü değil"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "yüklü"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "İstatistikler"
@@ -65,16 +65,16 @@ msgstr "Temel Ayarlar"
msgid "UI Configuration"
msgstr "Arayüz Ayarları"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr ""
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "Tümü"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr ""
@@ -91,7 +91,7 @@ msgstr ""
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -267,9 +267,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -299,7 +299,7 @@ msgstr "E-posta sunucusu ayarları güncellendi"
msgid "Database Configuration"
msgstr "Özellik Yapılandırması"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Lütfen tüm alanları doldurun!"
@@ -307,166 +307,166 @@ msgstr "Lütfen tüm alanları doldurun!"
msgid "E-mail is not from valid domain"
msgstr "E-posta izin verilen bir servisten değil"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Yeni kullanıcı ekle"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "'%(user)s' kullanıcısı oluşturuldu"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
#, 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:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Kullanıcı '%(nick)s' silindi"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "Başka yönetici kullanıcı olmadığından silinemedi"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "%(nick)s kullanıcısını düzenle"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "'%(nick)s' kullanıcısı güncellendi"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz."
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, 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:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "Lütfen önce e-posta adresinizi ayarlayın..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "E-posta sunucusu ayarları güncellendi"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "%(user)s kullanıcısının şifresi sıfırlandı"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "Log dosyası görüntüleyici"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Güncelleme paketi isteniyor"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Güncelleme paketi indiriliyor"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Güncelleme paketi ayıklanıyor"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "Dosyalar değiştiriliyor"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "Veritabanı bağlantıları kapalı"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "Sunucu durduruyor"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
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:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "Güncelleme başarısız:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP Hatası"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "Bağlantı kurulmaya çalışırken zaman aşımına uğradı"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "Genel hata"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "%(filename)s dosyası geçici dizine kaydedilemedi"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -478,7 +478,7 @@ msgstr "ayarlanmadı"
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -491,8 +491,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -529,7 +529,7 @@ msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)"
msgid "Failed to store file %(file)s."
msgstr "%(file)s dosyası kaydedilemedi."
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -687,7 +687,7 @@ msgstr "%(file)s dosyası Google Drive'da bulunamadı"
msgid "Book path %(path)s not found on Google Drive"
msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
#, fuzzy
msgid "Found an existing account for this e-mail address"
msgstr "Bu e-posta adresi için bir hesap mevcut."
@@ -721,34 +721,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "Bekleniyor"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "Başarısız"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "Başladı"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "Bitti"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "Bilinmeyen Durum"
@@ -765,7 +769,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr "%(provider)s ile Kaydol"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "giriş yaptınız: '%(nickname)s'"
@@ -831,7 +835,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Giriş"
@@ -847,7 +851,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:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "eKitaplar"
@@ -872,7 +876,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr ""
@@ -881,7 +885,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Okunanlar"
@@ -890,7 +894,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Okunmamışlar"
@@ -908,7 +912,7 @@ msgid "Show Random Books"
msgstr "Rastgele Kitap Göster"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Kategoriler"
@@ -918,7 +922,7 @@ msgstr "Kategori seçimini göster"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Seriler"
@@ -936,7 +940,7 @@ msgid "Show author selection"
msgstr "Yazar seçimini göster"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "Yayıncılar"
@@ -946,7 +950,7 @@ msgstr "Yayıncı seçimini göster"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Diller"
@@ -970,7 +974,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:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -978,7 +982,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1006,9 +1010,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "eKitap kitaplığa eklendi: %(sname)s"
#: cps/shelf.py:126
-#, 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"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1031,58 +1034,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "eKitap kitaplıktan silindi: %(sname)s"
#: cps/shelf.py:218
-#, 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"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "Kitaplık oluştur"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, 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:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Kitaplığı düzenle"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "%(title)s kitaplığı oluşturuldu."
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "%(title)s kitaplığı değiştirildi"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Bir hata oluştu"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Kitaplık sıralamasını değiştir: '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Kitaplık: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
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"
@@ -1115,177 +1121,177 @@ 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:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Keşfet (Rastgele)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "Yazar: %(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "Yayınevi: %(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Seri: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "Değerlendirme: %(rating)s yıldız"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "Biçim: %(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Kategori: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Dil: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Gelişmiş Arama"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Ara"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr ""
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "Değerlendirme listesi"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "Biçim listesi"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "Görevler"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "Yayınlanma (sonra)"
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Yayınlanma (önce)"
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "Değerlendirme <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "Değerlendirme >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, 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:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1464
+#: cps/web.py:1490
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:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Kayıt ol"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "E-posta adresinizle kaydolunmasına izin verilmiyor"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "Onay e-Postası hesabınıza gönderildi."
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "LDAP Kimlik Doğrulaması etkinleştirilemiyor"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Yanlış Kullanıcı adı ya da Şifre"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "Yeni şifre e-Posta adresinize gönderildi"
-#: cps/web.py:1561
+#: cps/web.py:1587
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:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "Giriş yaptınız: '%(nickname)s'"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s Profili"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Profil güncellendi"
@@ -1298,31 +1304,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "eKitap-Dönüştürücü hatası: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1356,212 +1362,212 @@ msgstr "Yönetim"
msgid "Password"
msgstr "Şifre"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Yükleme"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "İndirme"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Düzenleme"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Sil"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr ""
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr ""
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "Şifreleme"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr ""
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr ""
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Ayarlar"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr ""
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "Log Seviyesi"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Port"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr ""
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr ""
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr ""
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr ""
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr ""
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "Ters Proxy Header Adı"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Calibre-Web yapılandırması güncellendi"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Yönetim"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr ""
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "Güncelleme"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "Sürüm"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "Detaylar"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "Geçerli sürüm"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Güncelle"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr ""
@@ -1573,39 +1579,39 @@ msgstr "ile"
msgid "In Library"
msgstr "Kitaplıkta"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "azalt"
@@ -1735,9 +1741,9 @@ msgid "Fetch Metadata"
msgstr ""
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1760,7 +1766,7 @@ msgstr "Yükleniyor..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Kapak"
@@ -2240,49 +2246,49 @@ msgstr "İndirmeye İzin Ver"
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Yüklemeye izin ver"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Düzenlemeye İzin ver"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Şifre değiştirmeye izin ver"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Genel Kitaplıkları düzenlemeye izin ver"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Dilleri Hariç Tut"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
msgid "Default Visible Language of Books"
msgstr ""
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2436,21 +2442,29 @@ msgstr ""
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3059,15 +3073,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr ""
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo
index 1e4731af..15e812be 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 131da18f..40684c5c 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2017-04-30 00:47+0300\n"
"Last-Translator: ABIS Team \n"
"Language: uk\n"
@@ -15,17 +15,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "не встановлено"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr ""
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "Статистика"
@@ -64,17 +64,17 @@ msgstr "Настройки сервера"
msgid "UI Configuration"
msgstr "Конфігурація інтерфейсу"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
#, fuzzy
msgid "Edit Users"
msgstr "Керування сервером"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "Показати всі"
@@ -91,7 +91,7 @@ msgstr "Показати всі"
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -99,7 +99,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -270,9 +270,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -302,7 +302,7 @@ msgstr "З'єднання з базою даних закрите"
msgid "Database Configuration"
msgstr "Особливі налаштування"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "Будь-ласка, заповніть всі поля!"
@@ -310,164 +310,164 @@ msgstr "Будь-ласка, заповніть всі поля!"
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "Додати користувача"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "Користувач '%(user)s' додан"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "Користувача '%(nick)s' видалено"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "Змінити користувача %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "Користувача '%(nick)s' оновлено"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "Змінити налаштування SMTP"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP"
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "Перевірка оновлень"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "Завантаження оновлень"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "Розпакування оновлення"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "З'єднання з базою даних закрите"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr ""
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -479,7 +479,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -492,8 +492,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу."
@@ -530,7 +530,7 @@ msgstr ""
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -688,7 +688,7 @@ msgstr ""
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr ""
@@ -721,34 +721,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr ""
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr ""
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr ""
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr ""
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr ""
@@ -765,7 +769,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "Ви увійшли як користувач: '%(nickname)s'"
@@ -831,7 +835,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "Ім'я користувача"
@@ -847,7 +851,7 @@ msgstr "Час дії токено вичерпано"
msgid "Success! Please return to your device"
msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr ""
@@ -872,7 +876,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "Книги з найкращим рейтингом"
@@ -881,7 +885,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "Прочитані книги"
@@ -890,7 +894,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "Непрочитані книги"
@@ -908,7 +912,7 @@ msgid "Show Random Books"
msgstr "Показувати випадкові книги"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "Категорії"
@@ -918,7 +922,7 @@ msgstr "Показувати вибір категорії"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "Серії"
@@ -936,7 +940,7 @@ msgid "Show author selection"
msgstr "Показувати вибір автора"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr ""
@@ -946,7 +950,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "Мови"
@@ -970,7 +974,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -978,7 +982,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -1006,8 +1010,7 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "Книга додана на книжкову полицю: %(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
+msgid "You are not allowed to add a book to the shelf"
msgstr ""
#: cps/shelf.py:144
@@ -1031,58 +1034,61 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "Книга видалена з книжкової полиці: %(sname)s"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "створити книжкову полицю"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
#, fuzzy
msgid "Sorry you are not allowed to edit this shelf"
msgstr "Вибачте, але у вас немає дозволу для видалення книги з цієї полиці"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "Змінити книжкову полицю"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "Створена книжкова полиця %(title)s"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "Книжкова полиця %(title)s змінена"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "Сталась помилка"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "Змінити розташування книжкової полиці '%(name)s'"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "Книжкова полиця: '%(name)s'"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "Помилка при відкриванні полиці. Полиця не існує або до неї відсутній доступ"
@@ -1115,177 +1121,177 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "Огляд (випадкові книги)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "Популярні книги (найбільш завантажувані)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "Серії: %(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "Категорія: %(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "Мова: %(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "Розширений пошук"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "Пошук"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "DLS"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr ""
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr ""
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr ""
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "Опубліковано до"
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "Помилка при відправці книги: %(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "Зареєструватись"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "Помилка в імені користувача або паролі"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "Профіль %(name)s"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "Профіль оновлено"
@@ -1298,31 +1304,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1356,212 +1362,212 @@ msgstr "Адмін"
msgid "Password"
msgstr "Пароль"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "Додати нову книгу"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "Завантажити"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "Редагувати"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "Видалити"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP-сервер"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP-порт"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "SSL"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP логін"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "Відправник"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "Налаштування сервера"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Папка Calibre DB"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr ""
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "Порт"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "Кількість книг на сторінці"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "Загрузка на сервер"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "Анонімний перегляд"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "Публічна реєстрація"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr ""
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
#, fuzzy
msgid "Edit Calibre Database Configuration"
msgstr "Папка Calibre DB"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "Адміністрування"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "Повторне підключення до БД Calibre"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr ""
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "Перевірка оновлень"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "Встановити оновлення"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "Ok"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "Встановлення оновлень, будь-ласка, не оновлюйте сторінку"
@@ -1573,39 +1579,39 @@ msgstr "через"
msgid "In Library"
msgstr "У бібліотеці"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr ""
@@ -1735,9 +1741,9 @@ msgid "Fetch Metadata"
msgstr "Отримати метадані"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1760,7 +1766,7 @@ msgstr "Завантаження..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "Закрити"
@@ -2239,50 +2245,50 @@ msgstr "Дозволити завантажувати з сервера"
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "Дозволити завантаження на сервер"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "Дозволити редагування книг"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "Дозволити зміну пароля"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "Дозволити редагування публічних книжкових полиць"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "Виключити мови"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "Показувати книги на мовах"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "Можливості за замовчуванням для нових користувачів"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "Показувати випадкові книги при перегляді деталей"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2435,21 +2441,29 @@ msgstr ""
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3054,15 +3068,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "Видалити цього користувача"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo
index b529a358..bdf51f02 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 bf46df41..f8643957 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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: xlivevil \n"
"Language: zh_CN\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "未安装"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "已安装"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "统计"
@@ -65,16 +65,16 @@ msgstr "基本配置"
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "管理用户"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "全部"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "找不到用户"
@@ -82,7 +82,7 @@ msgstr "找不到用户"
msgid "{} users deleted successfully"
msgstr "成功删除 {} 个用户"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "显示全部"
@@ -91,7 +91,7 @@ msgstr "显示全部"
msgid "Malformed request"
msgstr "格式错误的请求"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "访客名称无法更改"
@@ -99,7 +99,7 @@ msgstr "访客名称无法更改"
msgid "Guest can't have this role"
msgstr "游客无法拥有此角色"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "理员账户不存在,无法删除管理员角色"
@@ -266,9 +266,9 @@ msgstr "LDAP成员用户过滤器中有不匹配的括号"
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CA证书、证书或密钥位置无效,请输入正确的路径"
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "设置数据库不可写入"
@@ -297,7 +297,7 @@ msgstr "邮件服务器设置已更新"
msgid "Database Configuration"
msgstr "数据库配置"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "请填写所有字段!"
@@ -305,165 +305,165 @@ msgstr "请填写所有字段!"
msgid "E-mail is not from valid domain"
msgstr "邮箱不在有效域中"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "添加新用户"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "用户“%(user)s”已创建"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
msgid "Found an existing account for this e-mail address or name."
msgstr "使用此邮箱或用户名的账号已经存在。"
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用户“%(nick)s”已删除"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "无法删除游客用户"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "管理员账户不存在,无法删除用户"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "编辑用户 %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用户“%(nick)s”已更新"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "发生一个未知错误,请稍后再试。"
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "编辑邮件服务器设置"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "G-Mail账号校验成功"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "发送给%(email)s的测试邮件已进入队列。请检查任务结果"
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "发送测试邮件时出错:%(res)s"
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "请先配置您的邮箱地址..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "邮件服务器设置已更新"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用户 %(user)s 的密码已重置"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "请先配置SMTP邮箱设置..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "日志文件查看器"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "正在请求更新包"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "正在下载更新包"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "正在解压更新包"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "正在替换文件"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "数据库连接已关闭"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "正在停止服务器"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,请点击确定并刷新页面"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "更新失败:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP错误"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "连接错误"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "建立连接超时"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "一般错误"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "更新文件无法保存在临时目录中"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr "未能提取至少一个LDAP用户"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "未能创建至少一个LDAP用户"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "错误:%(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "错误:在LDAP服务器的响应中没有返回用户"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "数据库中没有找到至少一个LDAP用户"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} 用户被成功导入"
@@ -475,7 +475,7 @@ msgstr "未配置"
msgid "Execution permissions missing"
msgstr "缺少执行权限"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "自定义列号:%(column)d在Calibre数据库中不存在"
@@ -488,8 +488,8 @@ msgstr "书籍格式已成功删除"
msgid "Book Successfully Deleted"
msgstr "书籍已成功删除"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问"
@@ -526,7 +526,7 @@ msgstr "创建路径 %(path)s 失败(权限拒绝)。"
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失败。"
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "数据库错误:%(error)s。"
@@ -684,7 +684,7 @@ msgstr "Google Drive上找不到文件 %(file)s"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google Drive上找不到书籍路径 %(path)s"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "使用此邮箱的账号已经存在。"
@@ -717,34 +717,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "封面文件只支持jpg/jpeg/png/webp/bmp文件"
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "仅将jpg、jpeg文件作为封面文件"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "找不到Unrar执行文件"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "执行UnRar时出错"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "等待中"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "失败"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "已开始"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "已完成"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "未知状态"
@@ -761,7 +765,7 @@ msgstr "Kobo 设置"
msgid "Register with %(provider)s"
msgstr "使用 %(provider)s 注册"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”身份登录"
@@ -827,7 +831,7 @@ msgid "{} Stars"
msgstr "{} 星"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "登录"
@@ -843,7 +847,7 @@ msgstr "Token已过期"
msgid "Success! Please return to your device"
msgstr "成功!请返回您的设备"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "书籍"
@@ -868,7 +872,7 @@ msgstr "下载历史"
msgid "Show Downloaded Books"
msgstr "显示下载过的书籍"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "最高评分书籍"
@@ -877,7 +881,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "已读书籍"
@@ -886,7 +890,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "未读书籍"
@@ -904,7 +908,7 @@ msgid "Show Random Books"
msgstr "显示随机书籍"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "分类"
@@ -914,7 +918,7 @@ msgstr "显示分类选择"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "丛书"
@@ -932,7 +936,7 @@ msgid "Show author selection"
msgstr "显示作者选择"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "出版社"
@@ -942,7 +946,7 @@ msgstr "显示出版社选择"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "语言"
@@ -966,7 +970,7 @@ msgstr "文件格式"
msgid "Show file formats selection"
msgstr "显示文件格式选择"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "归档书籍"
@@ -974,7 +978,7 @@ msgstr "归档书籍"
msgid "Show archived books"
msgstr "显示归档书籍"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "书籍列表"
@@ -1001,9 +1005,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "此书籍已被添加到书架:%(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
-msgstr "您没有添加书籍到书架 %(name)s 的权限"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1026,57 +1029,60 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "此书已从书架 %(sname)s 中删除"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "对不起,您没有从书架 %(sname)s 中删除书籍的权限"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "创建书架"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
msgid "Sorry you are not allowed to edit this shelf"
msgstr "对不起,您没有编辑这个书架的权限"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "编辑书架"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "书架 %(title)s 已创建"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "书架 %(title)s 已修改"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "发生错误"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "公共书架:%(title)s已经存在已经存在。"
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "私有书架:%(title)s已经存在已经存在。"
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "修改书架 %(name)s 顺序"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "书架:%(name)s"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "打开书架出错。书架不存在或不可访问"
@@ -1109,177 +1115,177 @@ msgstr "有新的更新。单击下面的按钮以更新到版本: %(version)s"
msgid "No release information available"
msgstr "无可用发布信息"
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "发现(随机书籍)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "热门书籍(最多下载)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "%(user)s 下载过的书籍"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "作者:%(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社:%(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "丛书:%(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "评分:%(rating)s 星"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "文件格式:%(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "分类:%(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "语言:%(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "高级搜索"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "搜索"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "下载次数"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "评分列表"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "文件格式列表"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "任务列表"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "出版时间晚于 "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "出版时间早于 "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "评分 <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "评分 >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "阅读状态 = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "搜索自定义列时出错,请重启 Calibre-Web"
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "书籍已经成功加入 %(kindlemail)s 的发送队列"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "糟糕!发送这本书籍的时候出现错误:%(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "请先配置您的kindle邮箱。"
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "邮件服务未配置,请联系网站管理员!"
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "注册"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "您的电子邮件不允许注册"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "确认邮件已经发送到您的邮箱。"
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "无法激活LDAP认证"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "后备登录“%(nickname)s”:无法访问LDAP服务器,或用户未知"
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "无法登录:%(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "用户名或密码错误"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "新密码已发送到您的邮箱"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "请输入有效的用户名进行密码重置"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您现在已以“%(nickname)s”登录"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用户配置"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "资料已更新"
@@ -1292,31 +1298,31 @@ msgstr "找不到包含 OAuth 信息的有效 gmail.json 文件"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "Calibre 电子书转换器%(tool)s没有发现"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "硬盘上找不到 %(format)s 格式"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "发生未知错误,书籍转换失败"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify 转换失败:%(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "找不到转换后的文件或文件夹%(folder)s中有多个文件"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "电子书转换器失败: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre 运行失败,错误信息:%(error)s"
@@ -1350,211 +1356,211 @@ msgstr "管理权限"
msgid "Password"
msgstr "密码"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "上传书籍"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "下载书籍"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "查看书籍"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "编辑书籍"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "删除数据"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "公共书架"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "添加新用户"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "导入LDAP用户"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "SMTP邮件服务器设置"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP主机名"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP端口"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "加密"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP用户名"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "发件人邮箱"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "电子邮件服务"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "通过Oauth2的Gmail"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "配置"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre 数据库路径"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "日志级别"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "端口"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "扩展端口"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "每页书籍数"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "上传"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "匿名浏览"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "开放注册"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "魔法链接远程登录"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "反向代理登录"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "反向代理头部名称"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr "编辑Calibre数据库配置"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "编辑基本配置"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "编辑界面配置"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "管理"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "下载Debug包"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "查看日志文件"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "重新连接到Calibre数据库"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "重启"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "停止"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "更新"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "版本"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "详情"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "当前版本"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "检查更新"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "执行更新"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "您确定要重启吗?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "确定"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "取消"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "您确定要关闭吗?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "正在更新,请不要刷新页面"
@@ -1566,39 +1572,39 @@ msgstr "通过"
msgid "In Library"
msgstr "在书库"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "按图书日期排序,最新优先"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "按图书日期排序,最旧优先"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "按标题按字母顺序排序"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "按标题逆字母顺序排序"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "按出版日期排序,最新优先"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "按出版日期排序,最旧优先"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "减少"
@@ -1728,9 +1734,9 @@ msgid "Fetch Metadata"
msgstr "获取元数据"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "保存"
@@ -1753,7 +1759,7 @@ msgstr "加载中..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "关闭"
@@ -2233,50 +2239,50 @@ msgstr "允许下载书籍"
msgid "Allow eBook Viewer"
msgstr "允许在线阅读"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "允许上传书籍"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "允许编辑书籍"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "允许删除书籍"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "允许修改密码"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "允许编辑公共书架"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "排除语言"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "按语言显示书籍"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "新用户默认显示权限"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "在主页显示随机书籍"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "添加显示或隐藏书籍的标签值"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
@@ -2429,21 +2435,29 @@ msgstr "回到首页"
msgid "Logout User"
msgstr "登出账号"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "按作者字母顺序排序"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "按作者逆字母顺序排序"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "按丛书编号排序"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "按丛书编号逆排序"
@@ -3045,15 +3059,15 @@ msgstr "新建或查看"
msgid "Add allowed/Denied Custom Column Values"
msgstr "添加显示或隐藏书籍的自定义栏目值"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr "仅同步所选书架中的书籍到 Kobo"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "删除此用户"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "生成Kobo Auth 地址"
diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo
index c3dea789..037dec23 100644
Binary files a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo differ
diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po
index 85ba820d..32d7baa2 100644
--- a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po
+++ b/cps/translations/zh_Hant_TW/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-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: 2020-09-27 22:18+0800\n"
"Last-Translator: xlivevil \n"
"Language: zh_TW\n"
@@ -16,17 +16,17 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr "未安裝"
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr "已安裝"
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr "統計"
@@ -65,16 +65,16 @@ msgstr "基本配置"
msgid "UI Configuration"
msgstr "界面配置"
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr "管理用戶"
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr "全部"
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr "找不到用戶"
@@ -82,7 +82,7 @@ msgstr "找不到用戶"
msgid "{} users deleted successfully"
msgstr "成功刪除 {} 個用戶"
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr "顯示全部"
@@ -91,7 +91,7 @@ msgstr "顯示全部"
msgid "Malformed request"
msgstr "格式錯誤的請求"
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr "訪客名稱無法更改"
@@ -99,7 +99,7 @@ msgstr "訪客名稱無法更改"
msgid "Guest can't have this role"
msgstr "遊客無法擁有此角色"
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr "管理員賬戶不存在,無法刪除管理員角色"
@@ -266,9 +266,9 @@ msgstr "LDAP成員用戶過濾器中有不匹配的括號"
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr "LDAP CA證書、證書或密鑰位置無效,請輸入正確的路徑"
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr "設置數據庫不可寫入"
@@ -297,7 +297,7 @@ msgstr "郵件服務器設置已更新"
msgid "Database Configuration"
msgstr "數據庫配置"
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr "請填寫所有欄位!"
@@ -305,165 +305,165 @@ msgstr "請填寫所有欄位!"
msgid "E-mail is not from valid domain"
msgstr "郵箱不在有效網域中"
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr "添加新用戶"
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr "用戶“%(user)s”已創建"
-#: cps/admin.py:1369
+#: cps/admin.py:1371
msgid "Found an existing account for this e-mail address or name."
msgstr "使用此郵箱或用戶名的賬號已經存在。"
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr "用戶“%(nick)s”已刪除"
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr "無法刪除訪客用戶"
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr "管理員賬戶不存在,無法刪除用戶"
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr "編輯用戶 %(nick)s"
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr "用戶“%(nick)s”已更新"
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr "發生一個未知錯誤,請稍後再試。"
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr "編輯郵件服務器設置"
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr "G-Mail賬號驗證成功"
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果"
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr "發送測試郵件時出錯:%(res)s"
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr "請先配置您的郵箱地址..."
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr "郵件服務器設置已更新"
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr "用戶 %(user)s 的密碼已重置"
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr "請先配置SMTP郵箱設置..."
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr "日誌文件查看器"
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr "正在請求更新包"
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr "正在下載更新包"
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr "正在解壓更新包"
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr "正在替換文件"
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr "數據庫連接已關閉"
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr "正在停止服務器"
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr "更新完成,請點擊確定並刷新頁面"
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr "更新失敗:"
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr "HTTP錯誤"
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr "連接錯誤"
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr "建立連接超時"
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr "一般錯誤"
-#: cps/admin.py:1696
+#: cps/admin.py:1701
#, fuzzy
msgid "Update file could not be saved in temp dir"
msgstr "更新文件無法保存在臨時目錄中"
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr "更新時檔案無法替換變更"
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr "未能提取至少一個LDAP用戶"
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr "未能創建至少一個LDAP用戶"
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr "錯誤:%(ldaperror)s"
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr "錯誤:在LDAP服務器的響應中沒有返回用戶"
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr "數據庫中沒有找到至少一個LDAP用戶"
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr "{} 用戶被成功導入"
@@ -475,7 +475,7 @@ msgstr "未配置"
msgid "Execution permissions missing"
msgstr "缺少執行權限"
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr "自定義列號:%(column)d在Calibre數據庫中不存在"
@@ -488,8 +488,8 @@ msgstr "書籍格式已成功刪除"
msgid "Book Successfully Deleted"
msgstr "書籍已成功刪除"
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問"
@@ -526,7 +526,7 @@ msgstr "創建路徑 %(path)s 失敗(權限拒絕)。"
msgid "Failed to store file %(file)s."
msgstr "保存文件 %(file)s 失敗。"
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr "數據庫錯誤:%(error)s。"
@@ -684,7 +684,7 @@ msgstr "Google Drive上找不到文件 %(file)s"
msgid "Book path %(path)s not found on Google Drive"
msgstr "Google Drive上找不到書籍路徑 %(path)s"
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr "使用此郵箱的賬號已經存在。"
@@ -717,34 +717,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr "封面文件只支持jpg/jpeg/png/webp/bmp格式文件"
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr "僅將jpg、jpeg文件作為封面文件"
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr "找不到Unrar執行文件"
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr "執行UnRar時出錯"
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr "等待中"
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr "失敗"
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr "已開始"
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr "已完成"
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr "未知狀態"
@@ -761,7 +765,7 @@ msgstr "Kobo 設置"
msgid "Register with %(provider)s"
msgstr "使用 %(provider)s 註冊"
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr "您現在已以“%(nickname)s”身份登入"
@@ -827,7 +831,7 @@ msgid "{} Stars"
msgstr "{} 星"
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr "登入"
@@ -843,7 +847,7 @@ msgstr "Token已過期"
msgid "Success! Please return to your device"
msgstr "成功!請返回您的設備"
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr "書籍"
@@ -868,7 +872,7 @@ msgstr "已下載書籍"
msgid "Show Downloaded Books"
msgstr "顯示下載過的書籍"
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr "最高評分書籍"
@@ -877,7 +881,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr "已讀書籍"
@@ -886,7 +890,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr "未讀書籍"
@@ -904,7 +908,7 @@ msgid "Show Random Books"
msgstr "隨機顯示書籍"
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr "分類"
@@ -914,7 +918,7 @@ msgstr "顯示分類選擇"
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr "叢書"
@@ -932,7 +936,7 @@ msgid "Show author selection"
msgstr "顯示作者選擇"
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr "出版社"
@@ -942,7 +946,7 @@ msgstr "顯示出版社選擇"
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr "語言"
@@ -966,7 +970,7 @@ msgstr "文件格式"
msgid "Show file formats selection"
msgstr "顯示文件格式選擇"
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr "歸檔書籍"
@@ -974,7 +978,7 @@ msgstr "歸檔書籍"
msgid "Show archived books"
msgstr "顯示歸檔書籍"
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr "書籍列表"
@@ -1001,9 +1005,8 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr "此書籍已被添加到書架:%(sname)s"
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
-msgstr "您沒有添加書籍到書架 %(name)s 的權限"
+msgid "You are not allowed to add a book to the shelf"
+msgstr ""
#: cps/shelf.py:144
#, python-format
@@ -1026,57 +1029,60 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr "此書已從書架 %(sname)s 中刪除"
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
-msgstr "對不起,您沒有從書架 %(sname)s 中刪除書籍的權限"
+msgid "Sorry you are not allowed to remove a book from this shelf"
+msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr "創建書架"
-#: cps/shelf.py:236
+#: cps/shelf.py:241
msgid "Sorry you are not allowed to edit this shelf"
msgstr "對不起,您沒有編輯這個書架的權限"
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr "編輯書架"
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr "書架 %(title)s 已創建"
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr "書架 %(title)s 已修改"
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr "發生錯誤"
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr "公共書架:%(title)s已經存在已經存在。"
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr "私有書架:%(title)s已經存在。"
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr "修改書架 %(name)s 順序"
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr "書架:%(name)s"
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr "打開書架出錯。書架不存在或不可訪問"
@@ -1109,177 +1115,177 @@ msgstr "有新的更新。單擊下面的按鈕以更新到版本: %(version)s"
msgid "No release information available"
msgstr "無可用發佈信息"
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr "發現(隨機書籍)"
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr "熱門書籍(最多下載)"
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr "%(user)s 下載過的書籍"
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr "作者:%(name)s"
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr "出版社:%(name)s"
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr "叢書:%(serie)s"
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr "評分:%(rating)s 星"
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr "文件格式:%(format)s"
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr "分類:%(name)s"
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr "語言:%(name)s"
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr "進階搜尋"
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr "搜尋"
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr "下載次數"
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr "評分列表"
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr "文件格式列表"
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr "任務列表"
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr "出版時間晚於 "
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr "出版時間早於 "
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr "評分 <= %(rating)s"
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr "評分 >= %(rating)s"
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr "閱讀狀態 = %(status)s"
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr "搜詢自定義欄位時出錯,請重啟 Calibre-Web"
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr "書籍已經成功加入 %(kindlemail)s 的發送隊列"
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr "糟糕!發送這本書籍的時候出現錯誤:%(res)s"
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr "請先設置您的kindle郵箱。"
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr "郵件服務未配置,請聯繫網站管理員!"
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr "註冊"
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr "您的電子郵件不允許註冊"
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr "確認郵件已經發送到您的郵箱。"
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr "無法激活LDAP認證"
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr "備援登入“%(nickname)s”:無法訪問LDAP伺服器,或用戶未知"
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr "無法登入:%(message)s"
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr "用戶名或密碼錯誤"
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr "新密碼已發送到您的郵箱"
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr "請輸入有效的用戶名進行密碼重置"
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr "您現在已以“%(nickname)s”登入"
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr "%(name)s 的用戶配置"
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr "資料已更新"
@@ -1292,31 +1298,31 @@ msgstr "找不到包含 OAuth 信息的有效 gmail.json 文件"
msgid "Calibre ebook-convert %(tool)s not found"
msgstr "沒有發現Calibre 電子書轉換器%(tool)s"
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr "硬碟上找不到 %(format)s 格式"
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr "發生未知錯誤,書籍轉換失敗"
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr "Kepubify 轉換失敗:%(error)s"
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr "找不到轉換後的文件或文件夾%(folder)s中有多個文件"
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr "電子書轉換器失敗: %(error)s"
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr "Calibre 運行失敗,錯誤信息:%(error)s"
@@ -1350,211 +1356,211 @@ msgstr "管理權限"
msgid "Password"
msgstr "密碼"
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr "上傳書籍"
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr "下載書籍"
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr "查看書籍"
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr "編輯書籍"
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr "刪除數據"
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr "公共書架"
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr "添加新用戶"
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr "導入LDAP用戶"
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr "SMTP郵件服務器設置"
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr "SMTP主機名"
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr "SMTP端口"
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr "加密"
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr "SMTP用戶名"
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr "發信人郵箱"
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr "電子郵件服務"
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr "通過Oauth2的Gmail"
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr "配置"
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr "Calibre 數據庫路徑"
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr "日誌級別"
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr "端口"
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr "擴展端口"
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr "每頁書籍數"
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr "上傳"
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr "匿名瀏覽"
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr "開放註冊"
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr "魔法連接遠程登錄"
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr "反向代理登入"
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr "反向代理標頭名稱"
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr "編輯Calibre數據庫配置"
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr "編輯基本配置"
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr "編輯界面配置"
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr "管理"
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr "下載除錯包"
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr "查看日誌文件"
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr "重新連接到Calibre數據庫"
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr "重啟"
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr "停止"
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr "更新"
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr "版本"
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr "詳情"
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr "當前版本"
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr "檢查更新"
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr "執行更新"
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr "您確定要重啟嗎?"
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr "確定"
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr "取消"
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr "您確定要關閉嗎?"
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr "正在更新,請不要刷新頁面"
@@ -1566,39 +1572,39 @@ msgstr "通過"
msgid "In Library"
msgstr "在書庫"
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr "按圖書日期排序,最新優先"
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr "按圖書日期排序,最舊優先"
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr "按標題按字母順序排序"
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr "按標題逆字母順序排序"
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr "按出版日期排序,最新優先"
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr "按出版日期排序,最舊優先"
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr "減少"
@@ -1728,9 +1734,9 @@ msgid "Fetch Metadata"
msgstr "獲取元數據"
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr "儲存"
@@ -1753,7 +1759,7 @@ msgstr "加載中..."
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr "關閉"
@@ -2233,50 +2239,50 @@ msgstr "允許下載書籍"
msgid "Allow eBook Viewer"
msgstr "允許在線閱讀"
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr "允許上傳書籍"
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr "允許編輯書籍"
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr "允許刪除書籍"
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr "允許修改密碼"
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr "允許編輯公共書架"
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
#, fuzzy
msgid "Default Language"
msgstr "預設語言"
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
#, fuzzy
msgid "Default Visible Language of Books"
msgstr "按預設語言顯示書籍"
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr "新用戶默認顯示權限"
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr "在主頁顯示隨機書籍"
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr "添加顯示或隱藏書籍的標籤值"
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr "添加顯示或隱藏書籍的自定義欄位值"
@@ -2429,21 +2435,29 @@ msgstr "回到首頁"
msgid "Logout User"
msgstr "登出賬號"
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr "按作者字母順序排序"
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr "按作者逆字母順序排序"
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr "按叢書編號排序"
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr "按叢書編號逆排序"
@@ -3045,15 +3059,15 @@ msgstr "新建或查看"
msgid "Add allowed/Denied Custom Column Values"
msgstr "添加顯示或隱藏書籍的自定義欄位值"
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr "僅同步所選書架中的書籍到 Kobo"
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr "刪除此用戶"
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr "生成Kobo Auth 地址"
diff --git a/cps/ub.py b/cps/ub.py
index 69ea55f6..405b0865 100644
--- a/cps/ub.py
+++ b/cps/ub.py
@@ -62,27 +62,13 @@ searched_ids = {}
logged_in = dict()
-def store_user_session():
- if flask_session.get('_user_id', ""):
- if logged_in.get(flask_session.get('_user_id', "")):
- logged_in[flask_session.get('_user_id', "")].append(flask_session.get('_id', ""))
- else:
- logged_in[flask_session.get('_user_id', "")] = [flask_session.get('_id', "")]
- log.info(flask_session.get('_id', ""))
-
-def delete_user_session(user_id, session_key):
- try:
- logged_in.get(str(user_id), []).remove(session_key)
- except ValueError:
- pass
-
-def check_user_session(user_id, session_key):
- return session_key in logged_in.get(str(user_id), [])
def signal_store_user_session(object, user):
store_user_session()
def store_user_session():
+ if flask_session.get('user_id', ""):
+ flask_session['_user_id'] = flask_session.get('user_id', "")
if flask_session.get('_user_id', ""):
try:
if not check_user_session(flask_session.get('_user_id', ""), flask_session.get('_id', "")):
diff --git a/cps/web.py b/cps/web.py
index ea6faf19..c061af30 100644
--- a/cps/web.py
+++ b/cps/web.py
@@ -831,7 +831,7 @@ def list_books():
books = calibre_db.session.query(db.Books).filter(calibre_db.common_filters()).all()
entries = calibre_db.get_checkbox_sorted(books, state, off, limit, order)
elif search:
- entries, filtered_count, __ = calibre_db.get_search_results(search, off, order, limit, *join)
+ entries, filtered_count, __ = calibre_db.get_search_results(search, off, [order,''], limit, *join)
else:
entries, __, __ = calibre_db.fill_indexpage((int(off) / (int(limit)) + 1), limit, db.Books, True, order, *join)
@@ -1012,30 +1012,25 @@ def formats_list():
@web.route("/language")
@login_required_if_no_ano
def language_overview():
- if current_user.check_visibility(constants.SIDEBAR_LANGUAGE):
- charlist = list()
- if current_user.filter_language() == u"all":
- languages = calibre_db.speaking_language()
- # ToDo: generate first character list for languages
+ if current_user.check_visibility(constants.SIDEBAR_LANGUAGE) and current_user.filter_language() == u"all":
+ if current_user.get_view_property('language', 'dir') == 'desc':
+ order = db.Languages.lang_code.desc()
+ order_no = 0
else:
- #try:
- # cur_l = LC.parse(current_user.filter_language())
- #except UnknownLocaleError:
- # cur_l = None
-
- languages = calibre_db.session.query(db.Languages).filter(
- db.Languages.lang_code == current_user.filter_language()).all()
- languages[0].name = isoLanguages.get_language_name(get_locale(), languages[0].name.lang_code)
- #if cur_l:
- # languages[0].name = cur_l.get_language_name(get_locale())
- #else:
- # languages[0].name = _(isoLanguages.get(part3=languages[0].lang_code).name)
+ order = db.Languages.lang_code.asc()
+ order_no = 1
+ charlist = list()
+ languages = calibre_db.speaking_language(reverse_order=not order_no)
+ for lang in languages:
+ upper_lang = lang.name[0].upper()
+ if upper_lang not in charlist:
+ charlist.append(upper_lang)
lang_counter = calibre_db.session.query(db.books_languages_link,
func.count('books_languages_link.book').label('bookcount')).group_by(
text('books_languages_link.lang_code')).all()
return render_title_template('languages.html', languages=languages, lang_counter=lang_counter,
charlist=charlist, title=_(u"Languages"), page="langlist",
- data="language")
+ data="language", order=order_no)
else:
abort(404)
diff --git a/messages.pot b/messages.pot
index b180986a..ad2d6482 100644
--- a/messages.pot
+++ b/messages.pot
@@ -8,24 +8,24 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-11-20 11:24+0100\n"
+"POT-Creation-Date: 2021-11-21 09:26+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: cps/about.py:34 cps/about.py:48 cps/about.py:64 cps/converter.py:31
+#: cps/about.py:34 cps/about.py:49 cps/about.py:65 cps/converter.py:31
msgid "not installed"
msgstr ""
-#: cps/about.py:46 cps/about.py:62
+#: cps/about.py:47 cps/about.py:63
msgid "installed"
msgstr ""
-#: cps/about.py:117
+#: cps/about.py:138
msgid "Statistics"
msgstr ""
@@ -64,16 +64,16 @@ msgstr ""
msgid "UI Configuration"
msgstr ""
-#: cps/admin.py:277 cps/templates/admin.html:46
+#: cps/admin.py:277 cps/templates/admin.html:50
msgid "Edit Users"
msgstr ""
#: cps/admin.py:318 cps/opds.py:109 cps/opds.py:198 cps/opds.py:275
-#: cps/opds.py:327 cps/templates/grid.html:14 cps/templates/list.html:14
+#: cps/opds.py:327 cps/templates/grid.html:13 cps/templates/list.html:13
msgid "All"
msgstr ""
-#: cps/admin.py:343 cps/admin.py:1572
+#: cps/admin.py:343 cps/admin.py:1576
msgid "User not found"
msgstr ""
@@ -81,7 +81,7 @@ msgstr ""
msgid "{} users deleted successfully"
msgstr ""
-#: cps/admin.py:379 cps/templates/config_view_edit.html:129
+#: cps/admin.py:379 cps/templates/config_view_edit.html:133
#: cps/templates/user_edit.html:45 cps/templates/user_table.html:81
msgid "Show All"
msgstr ""
@@ -90,7 +90,7 @@ msgstr ""
msgid "Malformed request"
msgstr ""
-#: cps/admin.py:418 cps/admin.py:1452
+#: cps/admin.py:418 cps/admin.py:1454
msgid "Guest Name can't be changed"
msgstr ""
@@ -98,7 +98,7 @@ msgstr ""
msgid "Guest can't have this role"
msgstr ""
-#: cps/admin.py:442 cps/admin.py:1410
+#: cps/admin.py:442 cps/admin.py:1412
msgid "No admin user remaining, can't remove admin role"
msgstr ""
@@ -265,9 +265,9 @@ msgstr ""
msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path"
msgstr ""
-#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1373 cps/admin.py:1479
-#: cps/admin.py:1547 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
-#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:441
+#: cps/admin.py:1176 cps/admin.py:1278 cps/admin.py:1375 cps/admin.py:1482
+#: cps/admin.py:1551 cps/shelf.py:100 cps/shelf.py:160 cps/shelf.py:203
+#: cps/shelf.py:275 cps/shelf.py:336 cps/shelf.py:371 cps/shelf.py:446
msgid "Settings DB is not Writeable"
msgstr ""
@@ -295,7 +295,7 @@ msgstr ""
msgid "Database Configuration"
msgstr ""
-#: cps/admin.py:1340 cps/web.py:1471
+#: cps/admin.py:1340 cps/web.py:1497
msgid "Please fill out all fields!"
msgstr ""
@@ -303,164 +303,164 @@ msgstr ""
msgid "E-mail is not from valid domain"
msgstr ""
-#: cps/admin.py:1352 cps/admin.py:1500
+#: cps/admin.py:1354 cps/admin.py:1504
msgid "Add new user"
msgstr ""
-#: cps/admin.py:1363
+#: cps/admin.py:1365
#, python-format
msgid "User '%(user)s' created"
msgstr ""
-#: cps/admin.py:1369
+#: cps/admin.py:1371
msgid "Found an existing account for this e-mail address or name."
msgstr ""
-#: cps/admin.py:1389
+#: cps/admin.py:1391
#, python-format
msgid "User '%(nick)s' deleted"
msgstr ""
-#: cps/admin.py:1391 cps/admin.py:1392
+#: cps/admin.py:1393 cps/admin.py:1394
msgid "Can't delete Guest User"
msgstr ""
-#: cps/admin.py:1395
+#: cps/admin.py:1397
msgid "No admin user remaining, can't delete user"
msgstr ""
-#: cps/admin.py:1467 cps/admin.py:1590
+#: cps/admin.py:1470 cps/admin.py:1595
#, python-format
msgid "Edit User %(nick)s"
msgstr ""
-#: cps/admin.py:1471
+#: cps/admin.py:1474
#, python-format
msgid "User '%(nick)s' updated"
msgstr ""
-#: cps/admin.py:1475 cps/admin.py:1605 cps/web.py:1496 cps/web.py:1559
+#: cps/admin.py:1478 cps/admin.py:1610 cps/web.py:1522 cps/web.py:1585
msgid "An unknown error occurred. Please try again later."
msgstr ""
-#: cps/admin.py:1509 cps/templates/admin.html:94
+#: cps/admin.py:1513 cps/templates/admin.html:98
msgid "Edit E-mail Server Settings"
msgstr ""
-#: cps/admin.py:1528
+#: cps/admin.py:1532
msgid "Gmail Account Verification Successful"
msgstr ""
-#: cps/admin.py:1554
+#: cps/admin.py:1558
#, python-format
msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result"
msgstr ""
-#: cps/admin.py:1557
+#: cps/admin.py:1561
#, python-format
msgid "There was an error sending the Test e-mail: %(res)s"
msgstr ""
-#: cps/admin.py:1559
+#: cps/admin.py:1563
msgid "Please configure your e-mail address first..."
msgstr ""
-#: cps/admin.py:1561
+#: cps/admin.py:1565
msgid "E-mail server settings updated"
msgstr ""
-#: cps/admin.py:1602
+#: cps/admin.py:1607
#, python-format
msgid "Password for user %(user)s reset"
msgstr ""
-#: cps/admin.py:1608 cps/web.py:1436
+#: cps/admin.py:1613 cps/web.py:1462
msgid "Please configure the SMTP mail settings first..."
msgstr ""
-#: cps/admin.py:1619
+#: cps/admin.py:1624
msgid "Logfile viewer"
msgstr ""
-#: cps/admin.py:1685
+#: cps/admin.py:1690
msgid "Requesting update package"
msgstr ""
-#: cps/admin.py:1686
+#: cps/admin.py:1691
msgid "Downloading update package"
msgstr ""
-#: cps/admin.py:1687
+#: cps/admin.py:1692
msgid "Unzipping update package"
msgstr ""
-#: cps/admin.py:1688
+#: cps/admin.py:1693
msgid "Replacing files"
msgstr ""
-#: cps/admin.py:1689
+#: cps/admin.py:1694
msgid "Database connections are closed"
msgstr ""
-#: cps/admin.py:1690
+#: cps/admin.py:1695
msgid "Stopping server"
msgstr ""
-#: cps/admin.py:1691
+#: cps/admin.py:1696
msgid "Update finished, please press okay and reload page"
msgstr ""
-#: cps/admin.py:1692 cps/admin.py:1693 cps/admin.py:1694 cps/admin.py:1695
-#: cps/admin.py:1696 cps/admin.py:1697
+#: cps/admin.py:1697 cps/admin.py:1698 cps/admin.py:1699 cps/admin.py:1700
+#: cps/admin.py:1701 cps/admin.py:1702
msgid "Update failed:"
msgstr ""
-#: cps/admin.py:1692 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
+#: cps/admin.py:1697 cps/updater.py:385 cps/updater.py:595 cps/updater.py:597
msgid "HTTP Error"
msgstr ""
-#: cps/admin.py:1693 cps/updater.py:387 cps/updater.py:599
+#: cps/admin.py:1698 cps/updater.py:387 cps/updater.py:599
msgid "Connection error"
msgstr ""
-#: cps/admin.py:1694 cps/updater.py:389 cps/updater.py:601
+#: cps/admin.py:1699 cps/updater.py:389 cps/updater.py:601
msgid "Timeout while establishing connection"
msgstr ""
-#: cps/admin.py:1695 cps/updater.py:391 cps/updater.py:603
+#: cps/admin.py:1700 cps/updater.py:391 cps/updater.py:603
msgid "General error"
msgstr ""
-#: cps/admin.py:1696
+#: cps/admin.py:1701
msgid "Update file could not be saved in temp dir"
msgstr ""
-#: cps/admin.py:1697
+#: cps/admin.py:1702
msgid "Files could not be replaced during update"
msgstr ""
-#: cps/admin.py:1721
+#: cps/admin.py:1726
msgid "Failed to extract at least One LDAP User"
msgstr ""
-#: cps/admin.py:1766
+#: cps/admin.py:1771
msgid "Failed to Create at Least One LDAP User"
msgstr ""
-#: cps/admin.py:1779
+#: cps/admin.py:1784
#, python-format
msgid "Error: %(ldaperror)s"
msgstr ""
-#: cps/admin.py:1783
+#: cps/admin.py:1788
msgid "Error: No user returned in response of LDAP server"
msgstr ""
-#: cps/admin.py:1816
+#: cps/admin.py:1821
msgid "At Least One LDAP User Not Found in Database"
msgstr ""
-#: cps/admin.py:1818
+#: cps/admin.py:1823
msgid "{} User Successfully Imported"
msgstr ""
@@ -472,7 +472,7 @@ msgstr ""
msgid "Execution permissions missing"
msgstr ""
-#: cps/db.py:651 cps/web.py:649 cps/web.py:1148
+#: cps/db.py:651 cps/web.py:672 cps/web.py:1173
#, python-format
msgid "Custom Column No.%(column)d is not existing in calibre database"
msgstr ""
@@ -485,8 +485,8 @@ msgstr ""
msgid "Book Successfully Deleted"
msgstr ""
-#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:511 cps/web.py:1698
-#: cps/web.py:1739 cps/web.py:1806
+#: cps/editbooks.py:373 cps/editbooks.py:760 cps/web.py:528 cps/web.py:1724
+#: cps/web.py:1765 cps/web.py:1832
msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible"
msgstr ""
@@ -523,7 +523,7 @@ msgstr ""
msgid "Failed to store file %(file)s."
msgstr ""
-#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1659
+#: cps/editbooks.py:670 cps/editbooks.py:1065 cps/web.py:1685
#, python-format
msgid "Database error: %(error)s."
msgstr ""
@@ -681,7 +681,7 @@ msgstr ""
msgid "Book path %(path)s not found on Google Drive"
msgstr ""
-#: cps/helper.py:507 cps/web.py:1654
+#: cps/helper.py:507 cps/web.py:1680
msgid "Found an existing account for this e-mail address"
msgstr ""
@@ -714,34 +714,38 @@ msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile"
msgstr ""
#: cps/helper.py:651
+msgid "Invalid cover file content"
+msgstr ""
+
+#: cps/helper.py:655
msgid "Only jpg/jpeg files are supported as coverfile"
msgstr ""
-#: cps/helper.py:703
+#: cps/helper.py:707
msgid "Unrar binary file not found"
msgstr ""
-#: cps/helper.py:714
+#: cps/helper.py:718
msgid "Error excecuting UnRar"
msgstr ""
-#: cps/helper.py:762
+#: cps/helper.py:766
msgid "Waiting"
msgstr ""
-#: cps/helper.py:764
+#: cps/helper.py:768
msgid "Failed"
msgstr ""
-#: cps/helper.py:766
+#: cps/helper.py:770
msgid "Started"
msgstr ""
-#: cps/helper.py:768
+#: cps/helper.py:772
msgid "Finished"
msgstr ""
-#: cps/helper.py:770
+#: cps/helper.py:774
msgid "Unknown Status"
msgstr ""
@@ -758,7 +762,7 @@ msgstr ""
msgid "Register with %(provider)s"
msgstr ""
-#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1530
+#: cps/oauth_bb.py:138 cps/remotelogin.py:133 cps/web.py:1556
#, python-format
msgid "you are now logged in as: '%(nickname)s'"
msgstr ""
@@ -824,7 +828,7 @@ msgid "{} Stars"
msgstr ""
#: cps/remotelogin.py:65 cps/templates/layout.html:86
-#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1579
+#: cps/templates/login.html:4 cps/templates/login.html:21 cps/web.py:1605
msgid "Login"
msgstr ""
@@ -840,7 +844,7 @@ msgstr ""
msgid "Success! Please return to your device"
msgstr ""
-#: cps/render_template.py:39 cps/web.py:413
+#: cps/render_template.py:39 cps/web.py:421
msgid "Books"
msgstr ""
@@ -865,7 +869,7 @@ msgstr ""
msgid "Show Downloaded Books"
msgstr ""
-#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:427
+#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:435
msgid "Top Rated Books"
msgstr ""
@@ -874,7 +878,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:658
+#: cps/templates/index.xml:58 cps/web.py:681
msgid "Read Books"
msgstr ""
@@ -883,7 +887,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:661
+#: cps/templates/index.xml:65 cps/web.py:684
msgid "Unread Books"
msgstr ""
@@ -901,7 +905,7 @@ msgid "Show Random Books"
msgstr ""
#: cps/render_template.py:69 cps/templates/book_table.html:67
-#: cps/templates/index.xml:83 cps/web.py:1035
+#: cps/templates/index.xml:83 cps/web.py:1060
msgid "Categories"
msgstr ""
@@ -911,7 +915,7 @@ msgstr ""
#: cps/render_template.py:72 cps/templates/book_edit.html:90
#: cps/templates/book_table.html:68 cps/templates/index.xml:90
-#: cps/templates/search_form.html:69 cps/web.py:930 cps/web.py:940
+#: cps/templates/search_form.html:69 cps/web.py:954 cps/web.py:965
msgid "Series"
msgstr ""
@@ -929,7 +933,7 @@ msgid "Show author selection"
msgstr ""
#: cps/render_template.py:79 cps/templates/book_table.html:72
-#: cps/templates/index.xml:76 cps/web.py:907
+#: cps/templates/index.xml:76 cps/web.py:931
msgid "Publishers"
msgstr ""
@@ -939,7 +943,7 @@ msgstr ""
#: cps/render_template.py:82 cps/templates/book_table.html:70
#: cps/templates/index.xml:97 cps/templates/search_form.html:107
-#: cps/web.py:1012
+#: cps/web.py:1037
msgid "Languages"
msgstr ""
@@ -963,7 +967,7 @@ msgstr ""
msgid "Show file formats selection"
msgstr ""
-#: cps/render_template.py:93 cps/web.py:685
+#: cps/render_template.py:93 cps/web.py:708
msgid "Archived Books"
msgstr ""
@@ -971,7 +975,7 @@ msgstr ""
msgid "Show archived books"
msgstr ""
-#: cps/render_template.py:97 cps/web.py:761
+#: cps/render_template.py:97 cps/web.py:785
msgid "Books List"
msgstr ""
@@ -998,8 +1002,7 @@ msgid "Book has been added to shelf: %(sname)s"
msgstr ""
#: cps/shelf.py:126
-#, python-format
-msgid "You are not allowed to add a book to the the shelf: %(name)s"
+msgid "You are not allowed to add a book to the shelf"
msgstr ""
#: cps/shelf.py:144
@@ -1023,57 +1026,60 @@ msgid "Book has been removed from shelf: %(sname)s"
msgstr ""
#: cps/shelf.py:218
-#, python-format
-msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s"
+msgid "Sorry you are not allowed to remove a book from this shelf"
msgstr ""
-#: cps/shelf.py:228 cps/templates/layout.html:142
+#: cps/shelf.py:228
+msgid "Sorry you are not allowed to create a public shelf"
+msgstr ""
+
+#: cps/shelf.py:232 cps/templates/layout.html:142
msgid "Create a Shelf"
msgstr ""
-#: cps/shelf.py:236
+#: cps/shelf.py:241
msgid "Sorry you are not allowed to edit this shelf"
msgstr ""
-#: cps/shelf.py:238
+#: cps/shelf.py:243
msgid "Edit a shelf"
msgstr ""
-#: cps/shelf.py:257
+#: cps/shelf.py:262
#, python-format
msgid "Shelf %(title)s created"
msgstr ""
-#: cps/shelf.py:260
+#: cps/shelf.py:265
#, python-format
msgid "Shelf %(title)s changed"
msgstr ""
-#: cps/shelf.py:274
+#: cps/shelf.py:279
msgid "There was an error"
msgstr ""
-#: cps/shelf.py:296
+#: cps/shelf.py:301
#, python-format
msgid "A public shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:307
+#: cps/shelf.py:312
#, python-format
msgid "A private shelf with the name '%(title)s' already exists."
msgstr ""
-#: cps/shelf.py:376
+#: cps/shelf.py:381
#, python-format
msgid "Change order of Shelf: '%(name)s'"
msgstr ""
-#: cps/shelf.py:446
+#: cps/shelf.py:451
#, python-format
msgid "Shelf: '%(name)s'"
msgstr ""
-#: cps/shelf.py:450
+#: cps/shelf.py:455
msgid "Error opening shelf. Shelf does not exist or is not accessible"
msgstr ""
@@ -1106,177 +1112,177 @@ msgstr ""
msgid "No release information available"
msgstr ""
-#: cps/templates/index.html:5 cps/web.py:437
+#: cps/templates/index.html:5 cps/web.py:445
msgid "Discover (Random Books)"
msgstr ""
-#: cps/web.py:463
+#: cps/web.py:476
msgid "Hot Books (Most Downloaded)"
msgstr ""
-#: cps/web.py:496
+#: cps/web.py:512
#, python-format
msgid "Downloaded books by %(user)s"
msgstr ""
-#: cps/web.py:527
+#: cps/web.py:544
#, python-format
msgid "Author: %(name)s"
msgstr ""
-#: cps/web.py:542
+#: cps/web.py:559
#, python-format
msgid "Publisher: %(name)s"
msgstr ""
-#: cps/web.py:555
+#: cps/web.py:574
#, python-format
msgid "Series: %(serie)s"
msgstr ""
-#: cps/web.py:568
+#: cps/web.py:587
#, python-format
msgid "Rating: %(rating)s stars"
msgstr ""
-#: cps/web.py:581
+#: cps/web.py:602
#, python-format
msgid "File format: %(format)s"
msgstr ""
-#: cps/web.py:597
+#: cps/web.py:620
#, python-format
msgid "Category: %(name)s"
msgstr ""
-#: cps/web.py:613
+#: cps/web.py:636
#, python-format
msgid "Language: %(name)s"
msgstr ""
-#: cps/templates/layout.html:56 cps/web.py:719 cps/web.py:1364
+#: cps/templates/layout.html:56 cps/web.py:742 cps/web.py:1389
msgid "Advanced Search"
msgstr ""
#: cps/templates/book_edit.html:239 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:226
-#: cps/web.py:732 cps/web.py:1070
+#: cps/web.py:755 cps/web.py:1095
msgid "Search"
msgstr ""
-#: cps/templates/admin.html:16 cps/web.py:885
+#: cps/templates/admin.html:16 cps/web.py:909
msgid "Downloads"
msgstr ""
-#: cps/web.py:961
+#: cps/web.py:986
msgid "Ratings list"
msgstr ""
-#: cps/web.py:982
+#: cps/web.py:1007
msgid "File formats list"
msgstr ""
-#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1049
+#: cps/templates/layout.html:75 cps/templates/tasks.html:7 cps/web.py:1074
msgid "Tasks"
msgstr ""
-#: cps/web.py:1208
+#: cps/web.py:1233
msgid "Published after "
msgstr ""
-#: cps/web.py:1215
+#: cps/web.py:1240
msgid "Published before "
msgstr ""
-#: cps/web.py:1237
+#: cps/web.py:1262
#, python-format
msgid "Rating <= %(rating)s"
msgstr ""
-#: cps/web.py:1239
+#: cps/web.py:1264
#, python-format
msgid "Rating >= %(rating)s"
msgstr ""
-#: cps/web.py:1241
+#: cps/web.py:1266
#, python-format
msgid "Read Status = %(status)s"
msgstr ""
-#: cps/web.py:1346
+#: cps/web.py:1371
msgid "Error on search for custom columns, please restart Calibre-Web"
msgstr ""
-#: cps/web.py:1441
+#: cps/web.py:1467
#, python-format
msgid "Book successfully queued for sending to %(kindlemail)s"
msgstr ""
-#: cps/web.py:1445
+#: cps/web.py:1471
#, python-format
msgid "Oops! There was an error sending this book: %(res)s"
msgstr ""
-#: cps/web.py:1447
+#: cps/web.py:1473
msgid "Please update your profile with a valid Send to Kindle E-mail Address."
msgstr ""
-#: cps/web.py:1464
+#: cps/web.py:1490
msgid "E-Mail server is not configured, please contact your administrator!"
msgstr ""
-#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1465
-#: cps/web.py:1472 cps/web.py:1478 cps/web.py:1497 cps/web.py:1501
-#: cps/web.py:1507
+#: cps/templates/layout.html:87 cps/templates/register.html:17 cps/web.py:1491
+#: cps/web.py:1498 cps/web.py:1504 cps/web.py:1523 cps/web.py:1527
+#: cps/web.py:1533
msgid "Register"
msgstr ""
-#: cps/web.py:1499
+#: cps/web.py:1525
msgid "Your e-mail is not allowed to register"
msgstr ""
-#: cps/web.py:1502
+#: cps/web.py:1528
msgid "Confirmation e-mail was send to your e-mail account."
msgstr ""
-#: cps/web.py:1519
+#: cps/web.py:1545
msgid "Cannot activate LDAP authentication"
msgstr ""
-#: cps/web.py:1538
+#: cps/web.py:1564
#, python-format
msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known"
msgstr ""
-#: cps/web.py:1544
+#: cps/web.py:1570
#, python-format
msgid "Could not login: %(message)s"
msgstr ""
-#: cps/web.py:1548 cps/web.py:1573
+#: cps/web.py:1574 cps/web.py:1599
msgid "Wrong Username or Password"
msgstr ""
-#: cps/web.py:1555
+#: cps/web.py:1581
msgid "New Password was send to your email address"
msgstr ""
-#: cps/web.py:1561
+#: cps/web.py:1587
msgid "Please enter valid username to reset password"
msgstr ""
-#: cps/web.py:1568
+#: cps/web.py:1594
#, python-format
msgid "You are now logged in as: '%(nickname)s'"
msgstr ""
-#: cps/web.py:1634 cps/web.py:1683
+#: cps/web.py:1660 cps/web.py:1709
#, python-format
msgid "%(name)s's profile"
msgstr ""
-#: cps/web.py:1650
+#: cps/web.py:1676
msgid "Profile updated"
msgstr ""
@@ -1289,31 +1295,31 @@ msgstr ""
msgid "Calibre ebook-convert %(tool)s not found"
msgstr ""
-#: cps/tasks/convert.py:162
+#: cps/tasks/convert.py:163
#, python-format
msgid "%(format)s format not found on disk"
msgstr ""
-#: cps/tasks/convert.py:166
+#: cps/tasks/convert.py:167
msgid "Ebook converter failed with unknown error"
msgstr ""
-#: cps/tasks/convert.py:176
+#: cps/tasks/convert.py:177
#, python-format
msgid "Kepubify-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:198
+#: cps/tasks/convert.py:199
#, python-format
msgid "Converted file not found or more than one file in folder %(folder)s"
msgstr ""
-#: cps/tasks/convert.py:221
+#: cps/tasks/convert.py:222
#, python-format
msgid "Ebook-converter failed: %(error)s"
msgstr ""
-#: cps/tasks/convert.py:240
+#: cps/tasks/convert.py:241
#, python-format
msgid "Calibre failed with error: %(error)s"
msgstr ""
@@ -1347,211 +1353,211 @@ msgstr ""
msgid "Password"
msgstr ""
-#: cps/templates/admin.html:19 cps/templates/layout.html:67
+#: cps/templates/admin.html:20 cps/templates/layout.html:67
#: cps/templates/user_table.html:145
msgid "Upload"
msgstr ""
-#: cps/templates/admin.html:20 cps/templates/detail.html:18
+#: cps/templates/admin.html:22 cps/templates/detail.html:18
#: cps/templates/detail.html:27 cps/templates/shelf.html:6
#: cps/templates/user_table.html:146
msgid "Download"
msgstr ""
-#: cps/templates/admin.html:21
+#: cps/templates/admin.html:23
msgid "View Books"
msgstr ""
-#: cps/templates/admin.html:22 cps/templates/user_table.html:131
+#: cps/templates/admin.html:24 cps/templates/user_table.html:131
#: cps/templates/user_table.html:148
msgid "Edit"
msgstr ""
-#: cps/templates/admin.html:23 cps/templates/book_edit.html:16
+#: cps/templates/admin.html:25 cps/templates/book_edit.html:16
#: cps/templates/book_table.html:97 cps/templates/modal_dialogs.html:63
#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67
#: cps/templates/user_table.html:149
msgid "Delete"
msgstr ""
-#: cps/templates/admin.html:24
+#: cps/templates/admin.html:26
msgid "Public Shelf"
msgstr ""
-#: cps/templates/admin.html:47
+#: cps/templates/admin.html:51
msgid "Add New User"
msgstr ""
-#: cps/templates/admin.html:49
+#: cps/templates/admin.html:53
msgid "Import LDAP Users"
msgstr ""
-#: cps/templates/admin.html:56
+#: cps/templates/admin.html:60
msgid "E-mail Server Settings"
msgstr ""
-#: cps/templates/admin.html:61 cps/templates/email_edit.html:31
+#: cps/templates/admin.html:65 cps/templates/email_edit.html:31
msgid "SMTP Hostname"
msgstr ""
-#: cps/templates/admin.html:65 cps/templates/email_edit.html:35
+#: cps/templates/admin.html:69 cps/templates/email_edit.html:35
msgid "SMTP Port"
msgstr ""
-#: cps/templates/admin.html:69 cps/templates/email_edit.html:39
+#: cps/templates/admin.html:73 cps/templates/email_edit.html:39
msgid "Encryption"
msgstr ""
-#: cps/templates/admin.html:73 cps/templates/email_edit.html:47
+#: cps/templates/admin.html:77 cps/templates/email_edit.html:47
msgid "SMTP Login"
msgstr ""
-#: cps/templates/admin.html:77 cps/templates/admin.html:88
+#: cps/templates/admin.html:81 cps/templates/admin.html:92
#: cps/templates/email_edit.html:55
msgid "From E-mail"
msgstr ""
-#: cps/templates/admin.html:84
+#: cps/templates/admin.html:88
msgid "E-Mail Service"
msgstr ""
-#: cps/templates/admin.html:85
+#: cps/templates/admin.html:89
msgid "Gmail via Oauth2"
msgstr ""
-#: cps/templates/admin.html:100
+#: cps/templates/admin.html:104
msgid "Configuration"
msgstr ""
-#: cps/templates/admin.html:103
+#: cps/templates/admin.html:107
msgid "Calibre Database Directory"
msgstr ""
-#: cps/templates/admin.html:107 cps/templates/config_edit.html:68
+#: cps/templates/admin.html:111 cps/templates/config_edit.html:68
msgid "Log Level"
msgstr ""
-#: cps/templates/admin.html:111
+#: cps/templates/admin.html:115
msgid "Port"
msgstr ""
-#: cps/templates/admin.html:116
+#: cps/templates/admin.html:120
msgid "External Port"
msgstr ""
-#: cps/templates/admin.html:123 cps/templates/config_view_edit.html:28
+#: cps/templates/admin.html:127 cps/templates/config_view_edit.html:28
msgid "Books per Page"
msgstr ""
-#: cps/templates/admin.html:127
+#: cps/templates/admin.html:131
msgid "Uploads"
msgstr ""
-#: cps/templates/admin.html:131
+#: cps/templates/admin.html:135
msgid "Anonymous Browsing"
msgstr ""
-#: cps/templates/admin.html:135
+#: cps/templates/admin.html:139
msgid "Public Registration"
msgstr ""
-#: cps/templates/admin.html:139
+#: cps/templates/admin.html:143
msgid "Magic Link Remote Login"
msgstr ""
-#: cps/templates/admin.html:143
+#: cps/templates/admin.html:147
msgid "Reverse Proxy Login"
msgstr ""
-#: cps/templates/admin.html:148 cps/templates/config_edit.html:173
+#: cps/templates/admin.html:152 cps/templates/config_edit.html:173
msgid "Reverse Proxy Header Name"
msgstr ""
-#: cps/templates/admin.html:153
+#: cps/templates/admin.html:157
msgid "Edit Calibre Database Configuration"
msgstr ""
-#: cps/templates/admin.html:154
+#: cps/templates/admin.html:158
msgid "Edit Basic Configuration"
msgstr ""
-#: cps/templates/admin.html:155
+#: cps/templates/admin.html:159
msgid "Edit UI Configuration"
msgstr ""
-#: cps/templates/admin.html:160
+#: cps/templates/admin.html:164
msgid "Administration"
msgstr ""
-#: cps/templates/admin.html:161
+#: cps/templates/admin.html:165
msgid "Download Debug Package"
msgstr ""
-#: cps/templates/admin.html:162
+#: cps/templates/admin.html:166
msgid "View Logs"
msgstr ""
-#: cps/templates/admin.html:165
+#: cps/templates/admin.html:169
msgid "Reconnect Calibre Database"
msgstr ""
-#: cps/templates/admin.html:166
+#: cps/templates/admin.html:170
msgid "Restart"
msgstr ""
-#: cps/templates/admin.html:167
+#: cps/templates/admin.html:171
msgid "Shutdown"
msgstr ""
-#: cps/templates/admin.html:172
+#: cps/templates/admin.html:176
msgid "Update"
msgstr ""
-#: cps/templates/admin.html:176
+#: cps/templates/admin.html:180
msgid "Version"
msgstr ""
-#: cps/templates/admin.html:177
+#: cps/templates/admin.html:181
msgid "Details"
msgstr ""
-#: cps/templates/admin.html:183
+#: cps/templates/admin.html:187
msgid "Current version"
msgstr ""
-#: cps/templates/admin.html:191
+#: cps/templates/admin.html:195
msgid "Check for Update"
msgstr ""
-#: cps/templates/admin.html:192
+#: cps/templates/admin.html:196
msgid "Perform Update"
msgstr ""
-#: cps/templates/admin.html:205
+#: cps/templates/admin.html:209
msgid "Are you sure you want to restart?"
msgstr ""
-#: cps/templates/admin.html:210 cps/templates/admin.html:224
-#: cps/templates/admin.html:244 cps/templates/config_db.html:70
+#: cps/templates/admin.html:214 cps/templates/admin.html:228
+#: cps/templates/admin.html:248 cps/templates/config_db.html:70
#: cps/templates/shelf.html:96
msgid "OK"
msgstr ""
-#: cps/templates/admin.html:211 cps/templates/admin.html:225
+#: cps/templates/admin.html:215 cps/templates/admin.html:229
#: cps/templates/book_edit.html:217 cps/templates/book_table.html:124
#: cps/templates/config_db.html:54 cps/templates/config_edit.html:359
-#: cps/templates/config_view_edit.html:169 cps/templates/modal_dialogs.html:64
+#: cps/templates/config_view_edit.html:173 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:97
-#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:137
+#: cps/templates/shelf_edit.html:27 cps/templates/user_edit.html:141
msgid "Cancel"
msgstr ""
-#: cps/templates/admin.html:223
+#: cps/templates/admin.html:227
msgid "Are you sure you want to shutdown?"
msgstr ""
-#: cps/templates/admin.html:235
+#: cps/templates/admin.html:239
msgid "Updating, please do not reload this page"
msgstr ""
@@ -1563,39 +1569,39 @@ msgstr ""
msgid "In Library"
msgstr ""
-#: cps/templates/author.html:26 cps/templates/index.html:68
+#: cps/templates/author.html:26 cps/templates/index.html:72
#: cps/templates/search.html:29 cps/templates/shelf.html:17
msgid "Sort according to book date, newest first"
msgstr ""
-#: cps/templates/author.html:27 cps/templates/index.html:69
+#: cps/templates/author.html:27 cps/templates/index.html:73
#: cps/templates/search.html:30 cps/templates/shelf.html:18
msgid "Sort according to book date, oldest first"
msgstr ""
-#: cps/templates/author.html:28 cps/templates/index.html:70
+#: cps/templates/author.html:28 cps/templates/index.html:74
#: cps/templates/search.html:31 cps/templates/shelf.html:19
msgid "Sort title in alphabetical order"
msgstr ""
-#: cps/templates/author.html:29 cps/templates/index.html:71
+#: cps/templates/author.html:29 cps/templates/index.html:75
#: cps/templates/search.html:32 cps/templates/shelf.html:20
msgid "Sort title in reverse alphabetical order"
msgstr ""
-#: cps/templates/author.html:30 cps/templates/index.html:74
+#: cps/templates/author.html:30 cps/templates/index.html:78
#: cps/templates/search.html:35 cps/templates/shelf.html:23
msgid "Sort according to publishing date, newest first"
msgstr ""
-#: cps/templates/author.html:31 cps/templates/index.html:75
+#: cps/templates/author.html:31 cps/templates/index.html:79
#: cps/templates/search.html:36 cps/templates/shelf.html:24
msgid "Sort according to publishing date, oldest first"
msgstr ""
#: cps/templates/author.html:57 cps/templates/author.html:117
#: cps/templates/discover.html:30 cps/templates/index.html:29
-#: cps/templates/index.html:106 cps/templates/search.html:65
+#: cps/templates/index.html:111 cps/templates/search.html:65
#: cps/templates/shelf.html:52
msgid "reduce"
msgstr ""
@@ -1725,9 +1731,9 @@ msgid "Fetch Metadata"
msgstr ""
#: cps/templates/book_edit.html:216 cps/templates/config_db.html:53
-#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:168
+#: cps/templates/config_edit.html:358 cps/templates/config_view_edit.html:172
#: cps/templates/email_edit.html:65 cps/templates/shelf_edit.html:25
-#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:135
+#: cps/templates/shelf_order.html:41 cps/templates/user_edit.html:139
msgid "Save"
msgstr ""
@@ -1749,7 +1755,7 @@ msgstr ""
#: cps/templates/book_edit.html:254 cps/templates/layout.html:64
#: cps/templates/layout.html:188 cps/templates/modal_dialogs.html:34
-#: cps/templates/user_edit.html:156
+#: cps/templates/user_edit.html:160
msgid "Close"
msgstr ""
@@ -2227,48 +2233,48 @@ msgstr ""
msgid "Allow eBook Viewer"
msgstr ""
-#: cps/templates/config_view_edit.html:100 cps/templates/user_edit.html:106
+#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:107
msgid "Allow Uploads"
msgstr ""
-#: cps/templates/config_view_edit.html:104 cps/templates/user_edit.html:110
+#: cps/templates/config_view_edit.html:106 cps/templates/user_edit.html:112
msgid "Allow Edit"
msgstr ""
-#: cps/templates/config_view_edit.html:108 cps/templates/user_edit.html:114
+#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:117
msgid "Allow Delete Books"
msgstr ""
-#: cps/templates/config_view_edit.html:112 cps/templates/user_edit.html:119
+#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
msgid "Allow Changing Password"
msgstr ""
-#: cps/templates/config_view_edit.html:116 cps/templates/user_edit.html:123
+#: cps/templates/config_view_edit.html:120 cps/templates/user_edit.html:127
msgid "Allow Editing Public Shelves"
msgstr ""
-#: cps/templates/config_view_edit.html:119
+#: cps/templates/config_view_edit.html:123
msgid "Default Language"
msgstr ""
-#: cps/templates/config_view_edit.html:127
+#: cps/templates/config_view_edit.html:131
msgid "Default Visible Language of Books"
msgstr ""
-#: cps/templates/config_view_edit.html:143
+#: cps/templates/config_view_edit.html:147
msgid "Default Visibilities for New Users"
msgstr ""
-#: cps/templates/config_view_edit.html:159 cps/templates/user_edit.html:81
+#: cps/templates/config_view_edit.html:163 cps/templates/user_edit.html:81
#: cps/templates/user_table.html:154
msgid "Show Random Books in Detail View"
msgstr ""
-#: cps/templates/config_view_edit.html:161 cps/templates/user_edit.html:84
+#: cps/templates/config_view_edit.html:165 cps/templates/user_edit.html:84
msgid "Add Allowed/Denied Tags"
msgstr ""
-#: cps/templates/config_view_edit.html:162
+#: cps/templates/config_view_edit.html:166
msgid "Add Allowed/Denied custom column values"
msgstr ""
@@ -2421,21 +2427,29 @@ msgstr ""
msgid "Logout User"
msgstr ""
-#: cps/templates/index.html:72 cps/templates/search.html:33
+#: cps/templates/index.html:69
+msgid "Sort ascending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:70
+msgid "Sort descending according to download count"
+msgstr ""
+
+#: cps/templates/index.html:76 cps/templates/search.html:33
#: cps/templates/shelf.html:21
msgid "Sort authors in alphabetical order"
msgstr ""
-#: cps/templates/index.html:73 cps/templates/search.html:34
+#: cps/templates/index.html:77 cps/templates/search.html:34
#: cps/templates/shelf.html:22
msgid "Sort authors in reverse alphabetical order"
msgstr ""
-#: cps/templates/index.html:77
+#: cps/templates/index.html:81
msgid "Sort ascending according to series index"
msgstr ""
-#: cps/templates/index.html:78
+#: cps/templates/index.html:82
msgid "Sort descending according to series index"
msgstr ""
@@ -3037,15 +3051,15 @@ msgstr ""
msgid "Add allowed/Denied Custom Column Values"
msgstr ""
-#: cps/templates/user_edit.html:130
+#: cps/templates/user_edit.html:134
msgid "Sync only books in selected shelves with Kobo"
msgstr ""
-#: cps/templates/user_edit.html:140 cps/templates/user_table.html:169
+#: cps/templates/user_edit.html:144 cps/templates/user_table.html:169
msgid "Delete User"
msgstr ""
-#: cps/templates/user_edit.html:152
+#: cps/templates/user_edit.html:156
msgid "Generate Kobo Auth URL"
msgstr ""
diff --git a/test/Calibre-Web TestSummary_Linux.html b/test/Calibre-Web TestSummary_Linux.html
index 1733a51a..95505cc4 100644
--- a/test/Calibre-Web TestSummary_Linux.html
+++ b/test/Calibre-Web TestSummary_Linux.html
@@ -37,20 +37,20 @@
-
Start Time: 2021-10-30 19:49:15
+
Start Time: 2021-11-21 07:25:47
-
Stop Time: 2021-10-30 23:31:02
+
Stop Time: 2021-11-21 10:30:41
-
Duration: 3h 2 min
+
Duration: 2h 25 min
@@ -102,12 +102,12 @@
-
+
TestAnonymous |
13 |
- 13 |
- 0 |
+ 12 |
0 |
+ 1 |
0 |
Detail
@@ -215,11 +215,33 @@
- |
+
TestAnonymous - test_guest_restricted_settings_visibility
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -872,11 +894,11 @@
-
+
TestEditBooks |
35 |
- 34 |
- 0 |
+ 30 |
+ 4 |
0 |
1 |
@@ -904,11 +926,35 @@
- |
+
TestEditBooks - test_edit_category
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1012,11 +1058,35 @@
-
+
TestEditBooks - test_edit_publisher
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1039,11 +1109,35 @@
-
+
TestEditBooks - test_edit_series
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1209,25 +1303,45 @@
-
+
TestEditBooks - test_upload_cover_hdd
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestEditBooksList |
- 18 |
- 18 |
- 0 |
- 0 |
+ 10 |
+ 8 |
+ 1 |
+ 1 |
0 |
- Detail
+ Detail
|
@@ -1253,7 +1367,7 @@
- TestEditBooksList - test_bookslist_edit_comment
+ TestEditBooksList - test_bookslist_edit_languages
|
PASS |
@@ -1262,7 +1376,7 @@
- TestEditBooksList - test_bookslist_edit_cust_category
+ TestEditBooksList - test_bookslist_edit_publisher
|
PASS |
@@ -1271,7 +1385,7 @@
- TestEditBooksList - test_bookslist_edit_cust_comment
+ TestEditBooksList - test_bookslist_edit_series
|
PASS |
@@ -1280,7 +1394,7 @@
- TestEditBooksList - test_bookslist_edit_cust_enum
+ TestEditBooksList - test_bookslist_edit_seriesindex
|
PASS |
@@ -1289,7 +1403,7 @@
- TestEditBooksList - test_bookslist_edit_cust_float
+ TestEditBooksList - test_bookslist_edit_title
|
PASS |
@@ -1297,78 +1411,6 @@
-
- TestEditBooksList - test_bookslist_edit_cust_int
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_cust_ratings
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_cust_text
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_languages
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_publisher
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_series
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_seriesindex
- |
- PASS |
-
-
-
-
-
-
- TestEditBooksList - test_bookslist_edit_title
- |
- PASS |
-
-
-
-
-
TestEditBooksList - test_list_visibility
|
@@ -1377,30 +1419,84 @@
-
+
TestEditBooksList - test_restricted_rights
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestEditBooksList - test_search_books_list
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestEditBooksOnGdrive |
20 |
- 20 |
- 0 |
+ 15 |
+ 5 |
0 |
0 |
@@ -1428,11 +1524,35 @@
- |
+
TestEditBooksOnGdrive - test_edit_category
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1518,11 +1638,35 @@
-
+
TestEditBooksOnGdrive - test_edit_publisher
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1536,11 +1680,35 @@
-
+
TestEditBooksOnGdrive - test_edit_series
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1572,20 +1740,60 @@
-
+
TestEditBooksOnGdrive - test_upload_cover_hdd
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestEditBooksOnGdrive - test_watch_metadata
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1759,15 +1967,15 @@
-
+
TestFilePicker |
+ 3 |
+ 2 |
+ 0 |
+ 0 |
1 |
- 1 |
- 0 |
- 0 |
- 0 |
- Detail
+ Detail
|
@@ -1781,6 +1989,41 @@
+
+
+
+ TestFilePicker - test_filepicker_new_file
+ |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ TestFilePicker - test_two_filepickers
+ |
+ PASS |
+
+
+
@@ -1849,12 +2092,12 @@
-
+
TestKoboSync |
10 |
- 10 |
- 0 |
- 0 |
+ 5 |
+ 4 |
+ 1 |
0 |
Detail
@@ -1881,29 +2124,91 @@
- |
+
TestKoboSync - test_kobo_sync_selected_shelfs
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestKoboSync - test_shelves_add_remove_books
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestKoboSync - test_sync_changed_book
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1926,11 +2231,31 @@
-
+
TestKoboSync - test_sync_shelf
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1944,22 +2269,42 @@
-
+
TestKoboSync - test_sync_upload
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestKoboSyncBig |
4 |
- 4 |
- 0 |
- 0 |
+ 1 |
+ 1 |
+ 2 |
0 |
Detail
@@ -1968,20 +2313,62 @@
- |
+
TestKoboSyncBig - test_kobo_sync_selected_shelfs
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestKoboSyncBig - test_sync_changed_book
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -1995,22 +2382,42 @@
-
+
TestKoboSyncBig - test_sync_shelf
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestLdapLogin |
13 |
- 13 |
- 0 |
+ 11 |
0 |
+ 2 |
0 |
Detail
@@ -2055,20 +2462,72 @@
- |
+
TestLdapLogin - test_LDAP_import
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestLdapLogin - test_LDAP_import_memberfield
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -2400,12 +2859,12 @@
-
+
TestMergeBooksList |
2 |
- 2 |
- 0 |
+ 1 |
0 |
+ 1 |
0 |
Detail
@@ -2414,11 +2873,31 @@
- |
+
TestMergeBooksList - test_delete_book
|
- PASS |
+
+
+
+
+
+
+
+ |
@@ -3196,13 +3675,13 @@
-
+
TestUserList |
18 |
+ 0 |
+ 0 |
18 |
0 |
- 0 |
- 0 |
Detail
|
@@ -3210,164 +3689,1810 @@
-
+
TestUserList - test_edit_user_email
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_list_visibility
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_admin_role
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_check_sort
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_denied_tags
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_download_role
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_button
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_email
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_kindle
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_language
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_locale
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_name
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_edit_visiblility
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_guest_edit
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_remove_admin
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_requests
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_search
|
- PASS |
+
+
+
+
+
+
+
+ |
-
+
TestUserList - test_user_list_sort
|
- PASS |
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+
+ _ErrorHolder |
+ 1 |
+ 0 |
+ 0 |
+ 1 |
+ 0 |
+
+ Detail
+ |
+
+
+
+
+
+
+ tearDownClass (test_user_list)
+ |
+
+
+
+
+
+
+
+ |
@@ -3381,13 +5506,13 @@
0 |
0 |
- Detail
+ Detail
|
-
+
TestUserLoad - test_user_change_vis
|
@@ -3405,13 +5530,13 @@
0 |
0 |
- Detail
+ Detail
|
-
+
TestUserTemplate - test_allow_column_restriction
|
@@ -3420,7 +5545,7 @@
-
+
TestUserTemplate - test_allow_tag_restriction
|
@@ -3429,7 +5554,7 @@
-
+
TestUserTemplate - test_archived_format_template
|
@@ -3438,7 +5563,7 @@
-
+
TestUserTemplate - test_author_user_template
|
@@ -3447,7 +5572,7 @@
-
+
TestUserTemplate - test_best_user_template
|
@@ -3456,7 +5581,7 @@
-
+
TestUserTemplate - test_category_user_template
|
@@ -3465,7 +5590,7 @@
-
+
TestUserTemplate - test_deny_column_restriction
|
@@ -3474,7 +5599,7 @@
-
+
TestUserTemplate - test_deny_tag_restriction
|
@@ -3483,7 +5608,7 @@
-
+
TestUserTemplate - test_detail_random_user_template
|
@@ -3492,7 +5617,7 @@
-
+
TestUserTemplate - test_download_user_template
|
@@ -3501,7 +5626,7 @@
-
+
TestUserTemplate - test_format_user_template
|
@@ -3510,7 +5635,7 @@
-
+
TestUserTemplate - test_hot_user_template
|
@@ -3519,7 +5644,7 @@
-
+
TestUserTemplate - test_language_user_template
|
@@ -3528,7 +5653,7 @@
-
+
TestUserTemplate - test_limit_book_languages
|
@@ -3537,7 +5662,7 @@
-
+
TestUserTemplate - test_list_user_template
|
@@ -3546,7 +5671,7 @@
-
+
TestUserTemplate - test_publisher_user_template
|
@@ -3555,7 +5680,7 @@
-
+
TestUserTemplate - test_random_user_template
|
@@ -3564,7 +5689,7 @@
-
+
TestUserTemplate - test_read_user_template
|
@@ -3573,7 +5698,7 @@
-
+
TestUserTemplate - test_recent_user_template
|
@@ -3582,7 +5707,7 @@
-
+
TestUserTemplate - test_series_user_template
|
@@ -3591,7 +5716,7 @@
-
+
TestUserTemplate - test_ui_language_settings
|
@@ -3609,13 +5734,13 @@
0 |
0 |
- Detail
+ Detail
|
-
+
TestCalibreWebVisibilitys - test_about
|
@@ -3624,7 +5749,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_SMTP_Settings
|
@@ -3633,7 +5758,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_add_user
|
@@ -3642,7 +5767,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_password
|
@@ -3651,7 +5776,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_archived
|
@@ -3660,7 +5785,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_authors
|
@@ -3669,7 +5794,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_category
|
@@ -3678,7 +5803,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_file_formats
|
@@ -3687,7 +5812,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_hot
|
@@ -3696,7 +5821,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_language
|
@@ -3705,7 +5830,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_publisher
|
@@ -3714,7 +5839,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_random
|
@@ -3723,7 +5848,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_rated
|
@@ -3732,7 +5857,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_rating
|
@@ -3741,7 +5866,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_read
|
@@ -3750,7 +5875,7 @@
-
+
TestCalibreWebVisibilitys - test_admin_change_visibility_series
|
@@ -3759,7 +5884,7 @@
-
+
TestCalibreWebVisibilitys - test_allow_columns
|
@@ -3768,7 +5893,7 @@
-
+
TestCalibreWebVisibilitys - test_allow_tags
|
@@ -3777,7 +5902,7 @@
-
+
TestCalibreWebVisibilitys - test_archive_books
|
@@ -3786,7 +5911,7 @@
-
+
TestCalibreWebVisibilitys - test_authors_max_settings
|
@@ -3795,7 +5920,7 @@
-
+
TestCalibreWebVisibilitys - test_change_title
|
@@ -3804,7 +5929,7 @@
-
+
TestCalibreWebVisibilitys - test_checked_logged_in
|
@@ -3813,7 +5938,7 @@
-
+
TestCalibreWebVisibilitys - test_hide_custom_column
|
@@ -3822,7 +5947,7 @@
-
+
TestCalibreWebVisibilitys - test_link_column_to_read_status
|
@@ -3831,7 +5956,7 @@
-
+
TestCalibreWebVisibilitys - test_random_books_available
|
@@ -3840,7 +5965,7 @@
-
+
TestCalibreWebVisibilitys - test_request_link_column_to_read_status
|
@@ -3849,7 +5974,7 @@
-
+
TestCalibreWebVisibilitys - test_restrict_columns
|
@@ -3858,7 +5983,7 @@
-
+
TestCalibreWebVisibilitys - test_restrict_tags
|
@@ -3867,7 +5992,7 @@
-
+
TestCalibreWebVisibilitys - test_save_views_recent
|
@@ -3876,7 +6001,7 @@
-
+
TestCalibreWebVisibilitys - test_search_functions
|
@@ -3885,7 +6010,7 @@
-
+
TestCalibreWebVisibilitys - test_search_order
|
@@ -3894,7 +6019,7 @@
-
+
TestCalibreWebVisibilitys - test_search_string
|
@@ -3903,7 +6028,7 @@
-
+
TestCalibreWebVisibilitys - test_user_email_available
|
@@ -3912,7 +6037,7 @@
-
+
TestCalibreWebVisibilitys - test_user_visibility_sidebar
|
@@ -3930,13 +6055,13 @@
0 |
0 |
- Detail
+ Detail
|
-
+
TestCalibreHelper - test_author_sort
|
@@ -3945,7 +6070,7 @@
-
+
TestCalibreHelper - test_author_sort_comma
|
@@ -3954,7 +6079,7 @@
-
+
TestCalibreHelper - test_author_sort_junior
|
@@ -3963,7 +6088,7 @@
-
+
TestCalibreHelper - test_author_sort_oneword
|
@@ -3972,7 +6097,7 @@
-
+
TestCalibreHelper - test_author_sort_roman
|
@@ -3981,7 +6106,7 @@
-
+
TestCalibreHelper - test_check_Limit_Length
|
@@ -3990,7 +6115,7 @@
-
+
TestCalibreHelper - test_check_char_replacement
|
@@ -3999,7 +6124,7 @@
-
+
TestCalibreHelper - test_check_chinese_Characters
|
@@ -4008,7 +6133,7 @@
-
+
TestCalibreHelper - test_check_deg_eur_replacement
|
@@ -4017,7 +6142,7 @@
-
+
TestCalibreHelper - test_check_doubleS
|
@@ -4026,7 +6151,7 @@
-
+
TestCalibreHelper - test_check_finish_Dot
|
@@ -4035,7 +6160,7 @@
-
+
TestCalibreHelper - test_check_high23
|
@@ -4044,7 +6169,7 @@
-
+
TestCalibreHelper - test_check_umlauts
|
@@ -4053,7 +6178,7 @@
-
+
TestCalibreHelper - test_random_password
|
@@ -4062,7 +6187,7 @@
-
+
TestCalibreHelper - test_split_authors
|
@@ -4071,7 +6196,7 @@
-
+
TestCalibreHelper - test_whitespaces
|
@@ -4082,11 +6207,11 @@
Total |
- 366 |
- 360 |
- 0 |
- 0 |
- 6 |
+ 361 |
+ 312 |
+ 15 |
+ 27 |
+ 7 |
|
@@ -4114,7 +6239,7 @@
Platform |
- Linux 5.11.0-38-generic #42~20.04.1-Ubuntu SMP Tue Sep 28 20:41:07 UTC 2021 x86_64 x86_64 |
+ Linux 5.13.0-21-generic #21~20.04.1-Ubuntu SMP Tue Oct 26 15:49:20 UTC 2021 x86_64 x86_64 |
Basic |
@@ -4240,7 +6365,7 @@
SQLAlchemy |
- 1.4.26 |
+ 1.4.27 |
Basic |
@@ -4270,13 +6395,13 @@
google-api-python-client |
- 2.28.0 |
+ 2.31.0 |
TestCliGdrivedb |
httplib2 |
- 0.20.1 |
+ 0.20.2 |
TestCliGdrivedb |
@@ -4300,13 +6425,13 @@
google-api-python-client |
- 2.28.0 |
+ 2.31.0 |
TestEbookConvertCalibreGDrive |
httplib2 |
- 0.20.1 |
+ 0.20.2 |
TestEbookConvertCalibreGDrive |
@@ -4330,13 +6455,13 @@
google-api-python-client |
- 2.28.0 |
+ 2.31.0 |
TestEbookConvertGDriveKepubify |
httplib2 |
- 0.20.1 |
+ 0.20.2 |
TestEbookConvertGDriveKepubify |
@@ -4372,13 +6497,13 @@
google-api-python-client |
- 2.28.0 |
+ 2.31.0 |
TestEditBooksOnGdrive |
httplib2 |
- 0.20.1 |
+ 0.20.2 |
TestEditBooksOnGdrive |
@@ -4402,13 +6527,13 @@
google-api-python-client |
- 2.28.0 |
+ 2.31.0 |
TestSetupGdrive |
httplib2 |
- 0.20.1 |
+ 0.20.2 |
TestSetupGdrive |
@@ -4444,13 +6569,13 @@
jsonschema |
- 4.1.2 |
+ 4.2.1 |
TestKoboSync |
jsonschema |
- 4.1.2 |
+ 4.2.1 |
TestKoboSyncBig |
@@ -4462,7 +6587,7 @@
jsonschema |
- 4.1.2 |
+ 4.2.1 |
TestLdapLogin |
@@ -4474,7 +6599,7 @@
Flask-Dance |
- 5.0.0 |
+ 5.1.0 |
TestOAuthLogin |
@@ -4492,7 +6617,7 @@